溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Golang中如何使用Date進(jìn)行日期格式化

發(fā)布時間:2020-07-29 11:35:52 來源:億速云 閱讀:935 作者:小豬 欄目:編程語言

小編這次要給大家分享的是Golang中如何使用Date進(jìn)行日期格式化,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

Date

Date是一個基于time包裝的一個日期包,通過此包可以快速創(chuàng)建日期、獲取時間戳、毫秒數(shù)及最重要的日期格式化,另外你還可以繼續(xù)使用time包下的所有函數(shù)(除time.Foramt(string)外)你可以通過以下方法快速創(chuàng)建一個Date對象:

  • Now()
  • WithTime(t time.Time)
  • WithTimestamp(timestamp int64)
  • WithMillisecond(millisecond int64)
  • WithDate(year, month, date, hour, minute, second int)

Note:你可以通過Date.Format(String,...bool)方法來對日期進(jìn)行格式化,日期格式化是按照J(rèn)ava風(fēng)格實現(xiàn)的,免去了Golang中非常規(guī)的格式化方法,這對我們使用日期格式化增加了很大的便利,以下問Java日期格式化參考表:

字母日期或時間元素表示示例
GEra 標(biāo)志符TextAD
yYear1996; 96
M年中的月份MonthJuly; Jul; 07
w年中的周數(shù)Number27
W月份中的周數(shù)umber2
D年中的天數(shù)Number189
d月份中的天數(shù)umber10
F月份中的星期umber2
E星期中的天數(shù)extTuesday; Tue v
aAm/pm 標(biāo)記TextPM
H一天中的小時數(shù)(0-23)umber0
k一天中的小時數(shù)(1-24)umber24
Kam/pm 中的小時數(shù)(0-11)umber0
ham/pm 中的小時數(shù)(1-12)umber12
m小時中的分鐘數(shù)umber30
s分鐘中的秒數(shù)umber55
S毫秒數(shù)Number978
z時區(qū)General time zonePacific Standard Time; PST; GMT-08:00
Z時區(qū)RFC 822 time zone-0800

開始

獲取Date

go get -u github.com/noogo/date

使用Date

// get date
d:=date.Now()
//d:=date.WithTime(time.Now())
//d:=date.WithTimestamp(1586448000)
//d:=date.WithMillisecond(1586448000000)
//d:=date.WithDate(2020,04,29,0,0,0)
// get milliseconds
//milliseconds:=date.Millisecond()
// get timestamp
//timestamp:=date.Timestamp()
// date format
ret,err:=d.Format("yyyy-MM-dd HH:mm:ss EEEE",true)
if err!=nil{
  log.Fatalln(err)
}
fmt.Println(ret)

運行結(jié)果

2020-04-29 00:13:12 星期三

格式化說明

  • G:保留字段,不支持格式化
  • 年:當(dāng)y的連續(xù)個數(shù)小于4時則顯示縮寫后的年,如2008,則會格式化為08
  • 月:當(dāng)M的連續(xù)個數(shù)大于3時則顯示英文單詞月份,如果等于3則顯示英文單詞縮寫,否則顯示數(shù)字月份,位數(shù)不足用0填充。
  • 對于表格中表示類型為Number類型的按照統(tǒng)一規(guī)則顯示對應(yīng)數(shù)值,其余多余的格式化字符用0填充,假如當(dāng)前時間為2020年1月1日,08時08分08秒,那么mm格式化后的分鐘則為08,mmm格式化后的分鐘則為008依次類推
  • 如果Date.Format(string,...bool)中第二個參數(shù)傳true,代表中文模式,此參數(shù)控制am/pm及星期數(shù),對應(yīng)會被格式化為上午/下午和星期一格式。

格式化參結(jié)果

令:當(dāng)前日期為2008-08-18 18:28:38.888

layoutresult
y08
yy08
yyy08
yyyy2008
yyyyy2008
M08
MM08
MMMAug
MMMMAugust
MMMMMAugust
w34
ww34
www034
wwww0034
wwwww00034
W4
WW04
WWW004
WWWW0004
WWWWW00004
D231
DD231
DDD231
DDDD0231
DDDDD00231
d18
dd18
ddd018
dddd0018
ddddd00018
F3
FF03
FFF003
FFFF0003
FFFFF00003
E星期一(chinese)
EE星期一(chinese)
EEE星期一(chinese)
EEEE星期一(chinese)
EEEEE星期一(chinese)
a下午(chinese)
aa下午(chinese)
aaa下午(chinese)
aaaa下午(chinese)
aaaaa下午(chinese)
E1(standard)
EE01(standard)
EEEMon(standard)
EEEEMonday(standard)
EEEEEMonday(standard)
aPM(standard)
aaPM(standard)
aaaPM(standard)
aaaaPM(standard)
aaaaaPM(standard)
H18
HH18
HHH018
HHHH0018
HHHHH00018
k18
kk18
kkk018
kkkk0018
kkkkk00018
K6
KK06
KKK006
KKKK0006
KKKKK00006
h6
hh06
hhh006
hhhh0006
hhhhh00006
m28
mm28
mmm028
mmmm0028
mmmmm00028
s38
ss38
sss038
ssss0038
sssss00038
S888
SS888
SSS888
SSSS0888
SSSSS00888
zCST
zzCST
zzzCST
zzzzCST
zzzzzCST
Z+0800
ZZ+0800
ZZZ+0800
ZZZZ+0800
ZZZZZ+0800

看完這篇關(guān)于Golang中如何使用Date進(jìn)行日期格式化的文章,如果覺得文章內(nèi)容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI