首先说明golang 语言设计设有个叫 XXnuts的家伙,果然是个变态,把时间原点设计在了 2006-01-02 15:04:05
其实人家这个日期是有意义的:
2006-01-02T15:04:05Z07:00
每个数字的意义:
1 2 3 4 5 6 7
月 日 时 分 秒 年 时 区
常用的方法:
1 toTime格式化(Parsing):
用法一: 使用毫秒数
1 |
t
:= time .Unix(1362984425,
0) |
2 |
nt
:= t.Format( "2006-01-02
15:04:05" ) |
用法二: 使用固定的字符串进行格式化获得time 对象
1 |
const TimeFormat
= "2006-01-02
15:04:05" |
2 |
func
TestXYZ(t *testing.T) { |
4 |
t,err:= time .Parse(TimeFormat, "2013-08-11
11:18:46" ) |
2 toString时间格式化 Formatting
09 |
t
:= time .SecondsToLocalTime(1305861602) |
10 |
t.ZoneOffset
= -4*60*60 |
11 |
fmt.Println(t.Format( "2006-01-02
15:04:05 -0700" )) |
3 格式串类型
当然如果上面没有你要的格式化类型,那就看下面的附表:
const (
ANSIC = "Mon Jan _2 15:04:05 2006"
UnixDate = "Mon Jan _2 15:04:05 MST 2006"
RubyDate = "Mon Jan 02 15:04:05 -0700 2006"
RFC822 = "02 Jan 06 15:04 MST"
// RFC822 with numeric zone RFC850 = "Monday, 02-Jan-06 15:04:05 MST"
RFC822Z = "02 Jan 06 15:04 -0700"
RFC1123 = "Mon, 02 Jan 2006 15:04:05 MST"
// RFC1123 with numeric zone RFC3339 = "2006-01-02T15:04:05Z07:00"
RFC1123Z = "Mon, 02 Jan 2006 15:04:05 -0700"
RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"
// Handy time stamps. Stamp = "Jan _2 15:04:05"
Kitchen = "3:04PM"
StampMilli = "Jan _2 15:04:05.000"
StampMicro = "Jan _2 15:04:05.000000"
StampNano = "Jan _2 15:04:05.000000000"
)
原文:http://my.oschina.net/yinlei212/blog/151963
有疑问加站长微信联系(非本文作者)