本文介绍了Golang中使用Date进行日期格式化,分享给大家,具体如下:

Github
https://github.com/noogo/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日期格式化参考表:

字母 日期或时间元素 表示 示例 G Era 标志符 Text AD y 年 Year 1996; 96 M 年中的月份 Month July; Jul; 07 w 年中的周数 Number 27 W 月份中的周数 umber 2 D 年中的天数 Number 189 d 月份中的天数 umber 10 F 月份中的星期 umber 2 E 星期中的天数 ext Tuesday; Tue v a Am/pm 标记 Text PM H 一天中的小时数(0-23) umber 0 k 一天中的小时数(1-24) umber 24 K am/pm 中的小时数(0-11) umber 0 h am/pm 中的小时数(1-12) umber 12 m 小时中的分钟数 umber 30 s 分钟中的秒数 umber 55 S 毫秒数 Number 978 z 时区 General time zone Pacific Standard Time; PST; GMT-08:00 Z 时区 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)

运行结果

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

layout result y 08 yy 08 yyy 08 yyyy 2008 yyyyy 2008 M 08 MM 08 MMM Aug MMMM August MMMMM August w 34 ww 34 www 034 wwww 0034 wwwww 00034 W 4 WW 04 WWW 004 WWWW 0004 WWWWW 00004 D 231 DD 231 DDD 231 DDDD 0231 DDDDD 00231 d 18 dd 18 ddd 018 dddd 0018 ddddd 00018 F 3 FF 03 FFF 003 FFFF 0003 FFFFF 00003 E 星期一(chinese) EE 星期一(chinese) EEE 星期一(chinese) EEEE 星期一(chinese) EEEEE 星期一(chinese) a 下午(chinese) aa 下午(chinese) aaa 下午(chinese) aaaa 下午(chinese) aaaaa 下午(chinese) E 1(standard) EE 01(standard) EEE Mon(standard) EEEE Monday(standard) EEEEE Monday(standard) a PM(standard) aa PM(standard) aaa PM(standard) aaaa PM(standard) aaaaa PM(standard) H 18 HH 18 HHH 018 HHHH 0018 HHHHH 00018 k 18 kk 18 kkk 018 kkkk 0018 kkkkk 00018 K 6 KK 06 KKK 006 KKKK 0006 KKKKK 00006 h 6 hh 06 hhh 006 hhhh 0006 hhhhh 00006 m 28 mm 28 mmm 028 mmmm 0028 mmmmm 00028 s 38 ss 38 sss 038 ssss 0038 sssss 00038 S 888 SS 888 SSS 888 SSSS 0888 SSSSS 00888 z CST zz CST zzz CST zzzz CST zzzzz CST Z +0800 ZZ +0800 ZZZ +0800 ZZZZ +0800 ZZZZZ +0800

华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?