小编这次要给大家分享的是Golang中如何使用Date进行日期格式化,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。

Date

Date是一个基于time包装的一个日期包,通过此包可以快速创建日期、获取时间戳、毫秒数及最重要的日期格式化,另外你还可以继续使用time包下的所有函数(除time.Foramt(string)外)你可以通过以下方法快速创建一个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)方法来对日期进行格式化,日期格式化是按照Java风格实现的,免去了Golang中非常规的格式化方法,这对我们使用日期格式化增加了很大的便利,以下问Java日期格式化参考表:

字母日期或时间元素表示示例GEra 标志符TextADy年Year1996; 96M年中的月份MonthJuly; Jul; 07w年中的周数Number27W月份中的周数umber2D年中的天数Number189d月份中的天数umber10F月份中的星期umber2E星期中的天数extTuesday; Tue vaAm/pm 标记TextPMH一天中的小时数(0-23)umber0k一天中的小时数(1-24)umber24Kam/pm 中的小时数(0-11)umber0ham/pm 中的小时数(1-12)umber12m小时中的分钟数umber30s分钟中的秒数umber55S毫秒数Number978z时区General time zonePacific Standard Time; PST; GMT-08:00Z时区RFC 822 time zone-0800

开始

获取Date

go get -u github.com/noogo/date

使用Date

// get dated:=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 formatret,err:=d.Format("yyyy-MM-dd HH:mm:ss EEEE",true)if err!=nil{ log.Fatalln(err)}fmt.Println(ret)

运行结果

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

格式化说明

G:保留字段,不支持格式化年:当y的连续个数小于4时则显示缩写后的年,如2008,则会格式化为08月:当M的连续个数大于3时则显示英文单词月份,如果等于3则显示英文单词缩写,否则显示数字月份,位数不足用0填充。对于表格中表示类型为Number类型的按照统一规则显示对应数值,其余多余的格式化字符用0填充,假如当前时间为2020年1月1日,08时08分08秒,那么mm格式化后的分钟则为08,mmm格式化后的分钟则为008依次类推如果Date.Format(string,...bool)中第二个参数传true,代表中文模式,此参数控制am/pm及星期数,对应会被格式化为上午/下午和星期一格式。

格式化参结果

令:当前日期为2008-08-18 18:28:38.888

layoutresulty08yy08yyy08yyyy2008yyyyy2008M08MM08MMMAugMMMMAugustMMMMMAugustw34ww34www034wwww0034wwwww00034W4WW04WWW004WWWW0004WWWWW00004D231DD231DDD231DDDD0231DDDDD00231d18dd18ddd018dddd0018ddddd00018F3FF03FFF003FFFF0003FFFFF00003E星期一(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)H18HH18HHH018HHHH0018HHHHH00018k18kk18kkk018kkkk0018kkkkk00018K6KK06KKK006KKKK0006KKKKK00006h6hh06hhh006hhhh0006hhhhh00006m28mm28mmm028mmmm0028mmmmm00028s38ss38sss038ssss0038sssss00038S888SS888SSS888SSSS0888SSSSS00888zCSTzzCSTzzzCSTzzzzCSTzzzzzCSTZ+0800ZZ+0800ZZZ+0800ZZZZ+0800ZZZZZ+0800

看完这篇关于Golang中如何使用Date进行日期格式化的文章,如果觉得文章内容写得不错的话,可以把它分享出去给更多人看到。