整合營銷服務商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          JavaScript的日期格式化方法

          、繼承的方法

          與其他類型一樣,Date類型也重寫了toLocaleString()、toString()和valueOf()方法。

          1. Date類型的toLocaleString()方法會按照與瀏覽器設置的地區(qū)相適應的格式返回日期和時間。
          2. toString()方法則通常返回帶有時區(qū)信息的日期和時間,其中時間一般以軍用時間(即小時的范圍是0到23)表示。
          3. valueOf()方法不返回字符串,而是返回日期的毫秒表示。

          二、其他日期格式化方法

          1. toDateString()方法以特定于實現(xiàn)的格式顯示星期幾、月、日和年。
          2. toTimeString()方法以特定于實現(xiàn)的格式顯示時、分、秒和時區(qū)。
          3. toLocaleDateString()方法以特定于地區(qū)的格式顯示星期幾、月、日和年。
          4. toLocaleTimeString()方法以特定于實現(xiàn)的格式顯示時、分、秒。
          5. toUTCString()方法以特定于實現(xiàn)的格式顯示完整的UTC日期。

          除valueOf()方法以外,其他的方法在輸出字符串時,格式因瀏覽器而異。

          還有一個名叫toGMTString()的方法,這是一個與toUTCString()等價的方法,其存在的目的在于確保向后兼容。不過,ECMAScript推薦現(xiàn)在編寫的代碼一律使用toUTCString()方法。

          Go語言渲染html頁面的時候,經(jīng)常需要對日期進行格式化,一種可以在渲染之前,就將變量轉換成對應的字符串;另一種根據(jù)template的語法在渲染模板的時候進行格式化。

          語法:

          {{ .<vaiable>.Format <layout>}}
          

          變量后面加Format 格式


          layout格式跟time包里面的定義是一樣的:

          月份 1,01,Jan,January

          日 2,02,_2

          時 3,03,15,PM,pm,AM,am

          分 4,04

          秒 5,05

          年 06,2006

          時區(qū) -07,-0700,Z0700,Z07:00,-07:00,MST

          周幾 Mon,Monday

          比如小時的表示(原定義是下午3時,也就是15時)

          3 用12小時制表示,去掉前導0

          03 用12小時制表示,保留前導0

          15 用24小時制表示,保留前導0

          03pm 用24小時制am/pm表示上下午表示,保留前導0

          3pm 用24小時制am/pm表示上下午表示,去掉前導0

          又比如月份

          1 數(shù)字表示月份,去掉前導0

          01 數(shù)字表示月份,保留前導0

          Jan 縮寫單詞表示月份

          January 全單詞表示月份


          例子:

          type Log struct{
           ID int
           Info string
           CreateAt time.Time
          

          }

          在html里面調用

          默認格式:

          <span>{{ .CreateAt }}</span>
          

          格式化:

          <span> {{ .CreateAt.Format "2006-01-02 15:04:05" }} </span>
          

          niapp中的日歷組件需要用到開始時間和結束時間,這個時間是字符串形式的,如'2021-01-21'。

          組件網(wǎng)址:https://ext.dcloud.net.cn/plugin?id=56

          需求

          我的需求是得到7天前到現(xiàn)在日期的字符串形式,即

          startDate: '2021-11-04'',
          endDate: '2021-11-11',

          上代碼:

          Date.prototype.format = function(fmt) {
          	var o = {
          		"M+": this.getMonth() + 1, //月份 
          		"d+": this.getDate(), //日 
          		"h+": this.getHours(), //小時 
          		"m+": this.getMinutes(), //分 
          		"s+": this.getSeconds(), //秒 
          		"q+": Math.floor((this.getMonth() + 3) / 3), //季度 
          		"S": this.getMilliseconds() //毫秒 
          	};
          	if (/(y+)/.test(fmt)) {
          		fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
          	}
          	for (var k in o) {
          		if (new RegExp("(" + k + ")").test(fmt)) {
          			fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k])
          				.length)));
          		}
          	}
          	return fmt;
          }
          //N天時間戳,時間戳指從1970-01-01 0點開始到某天的毫秒數(shù)
          function timestamp(days) {
          	return days * 24 * 60 * 60 * 1000
          }
          
          //幾天前,一般以現(xiàn)在的時間為基準,參數(shù)默認值老的瀏覽器可能不支持。
          function days_ago(day, base_time = Date.now()) {
          	return new Date(base_time - timestamp(day))
          }
          //最常用的今天、昨天、明天,返回時間戳
          function yesterday(){
          	return days_ago(1)
          }
          function tomorrow(){
          	return days_ago(-1)
          }
          function today(){
          	return new Date()
          }
          
          ///字符串格式化的日期,英文常用,如2021-01-01
          function en_format(func){
          	return func.format('yyyy-MM-dd')
          }
          function en_today(){
          	return en_format(today())
          }
          function en_yesterday(){
          	return en_format(days_ago(1))
          }
          function en_tomorrow(){
          	return en_format(days_ago(-1))
          }
          
          function cn_format(func){
          	return func.format('yyyy年MM月dd日')
          }
          //中文版今天,如2020年02月22日
          function cn_today(){
          	return cn_format(today())
          }
          //中文版昨天,如1949年10月01日
          function cn_yesterday(){
          	return cn_format(days_ago(1))
          }
          //中文版明天,如2035年09月09日
          function cn_tomorrow(){
          	return cn_format(days_ago(-1))
          }

          使用方法

          cn_today()
          '2021年11月10日'
          cn_tomorrow()
          '2021年11月11日'
          cn_yesterday()
          '2021年11月09日'
              
          en_today()
          '2021-11-10'
          en_tomorrow()
          '2021-11-11'
          en_yesterday()
          '2021-11-09'

          7天前

          en_format(days_ago(7))
          '2021-11-03'

          代碼還能再精簡,不過于我是已經(jīng)夠用了。

          我是@愛玩的安哥,關注我獲取更多有用知識


          主站蜘蛛池模板: 日本一区二区三区在线观看视频| 久久久久久人妻一区二区三区| 国产成人久久精品区一区二区 | 国模大胆一区二区三区| 国产日韩精品一区二区在线观看播放 | 极品尤物一区二区三区| 国产精品538一区二区在线| 国产午夜精品免费一区二区三区| 中文字幕精品一区二区日本| 日本夜爽爽一区二区三区| 国产成人无码一区二区在线观看| 在线精品国产一区二区| av在线亚洲欧洲日产一区二区| 一区二区在线免费观看| 亚洲福利精品一区二区三区| 无码精品一区二区三区| 高清国产AV一区二区三区| 精品免费AV一区二区三区| 精品无码人妻一区二区三区| 91麻豆精品国产自产在线观看一区 | 一色一伦一区二区三区| 亚洲av无码一区二区三区网站| 日本一区二区三区精品国产 | 99久久精品国产高清一区二区 | 精品久久久中文字幕一区| 国产精品高清一区二区人妖| 日韩高清国产一区在线| 亚洲电影一区二区| 亚洲综合无码一区二区三区| 国产精品丝袜一区二区三区| 中文字幕日韩人妻不卡一区 | 高清一区二区三区日本久 | 精品人体无码一区二区三区| 国产传媒一区二区三区呀| 国产精品视频一区二区三区不卡| 国产精品免费大片一区二区| 国产成人精品一区二区三区免费| 午夜DV内射一区二区| 久久久久人妻精品一区 | 无码人妻精品一区二区蜜桃网站| 国产精品综合AV一区二区国产馆|