golang time的几种用法

前端之家收集整理的这篇文章主要介绍了golang time的几种用法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

首先说明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")
3 fmt.Println(nt)

用法二: 使用固定的字符串进行格式化获得time 对象

constTimeFormat ="2006-01-02 15:04:05"
func TestXYZ(t *testing.T) {
4 t,err:=.Parse(TimeFormat,"2013-08-11 11:18:46"5 l.Println(t)
6 }

2 toString时间格式化 Formatting

01 package main
02
03 import (
04 "fmt"
05 "time"
06 07 08 func main() {
09 .SecondsToLocalTime(1305861602)
10 t.ZoneOffset = -4*60*60
11 fmt.Println(t.Format("2006-01-02 15:04:05 -0700"))
12 }
13 14 // => "2011-05-20 03:20:02 -0400"

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
原文链接:https://www.f2er.com/go/190966.html

猜你在找的Go相关文章