本文介绍了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
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。