首先說明golang 語言設計設有個叫 XXnuts的傢伙,果真是個變態,把時間原點設計在了 2006-01-02 15:04:05 golang
其實人家這個日期是有意義的: spa
2006-01-02T15:04:05Z07:00
每一個數字的意義: 設計
1 2 3 4 5 6 7 月 日 時 分 秒 年 時 區
經常使用的方法: code
1 toTime格式化(Parsing): orm
用法一: 使用毫秒數 對象
t := time.Unix(1362984425, 0) nt := t.Format("2006-01-02 15:04:05") fmt.Println(nt)
用法二: 使用固定的字符串進行格式化得到time 對象 字符串
const TimeFormat = "2006-01-02 15:04:05" func TestXYZ(t *testing.T) { t,err:=time.Parse(TimeFormat,"2013-08-11 11:18:46") l.Println(t) }
2 toString時間格式化 Formatting it
package main import ( "fmt" "time" ) func main() { t := time.SecondsToLocalTime(1305861602) t.ZoneOffset = -4*60*60 fmt.Println(t.Format("2006-01-02 15:04:05 -0700")) } // => "2011-05-20 03:20:02 -0400"
3 格式串類型 class
固然若是上面沒有你要的格式化類型,那就看下面的附表: test
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" )