java获取元素创建时间_Golang中使用Date进行日期格式化(沿用Java风格)

Github

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 https://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

欢迎关注我们的微信公众号,每天学习 Go 知识

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值