3 回答
TA贡献1784条经验 获得超2个赞
尽管time.Parse()接受诸如的格式字符串2006-01-02 15:04:05 -0700 MST,但使用时间定义的常量之一可能会更简单。
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"
RFC822Z = "02 Jan 06 15:04 -0700" // RFC822 with numeric zone
RFC850 = "Monday, 02-Jan-06 15:04:05 MST"
RFC1123 = "Mon, 02 Jan 2006 15:04:05 MST"
RFC1123Z = "Mon, 02 Jan 2006 15:04:05 -0700" // RFC1123 with numeric zone
RFC3339 = "2006-01-02T15:04:05Z07:00"
RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"
Kitchen = "3:04PM"
// Handy time stamps.
Stamp = "Jan _2 15:04:05"
StampMilli = "Jan _2 15:04:05.000"
StampMicro = "Jan _2 15:04:05.000000"
StampNano = "Jan _2 15:04:05.000000000"
)
如果您使用字符串作为存储或编码时间的方式(例如采用限制性编码格式),则可能需要考虑使用Unix time。这样,您可以只存储一个int64(或两个,如果您保留纳秒数)。
TA贡献1801条经验 获得超8个赞
time.String文档提供了使用的格式:“ 2006-01-02 15:04:05.999999999 -0700 MST”。首先将使用相同的格式进行解析。
时区可能对您来说是个问题。如果必须解析您知道的时间是使用time.String生成的,但是是在其他时区生成的,则必须具有其他时区的zoneinfo。请参阅LoadLocation下的文档。如果您无法获取zoneinfo,无法在系统上安装它或无法冒险在某个新的未知时区失败,则time.String格式不适合您。您将必须获得其他格式的时间戳,或者从字符串中删除时区,并以修改后的格式解析修改后的字符串。
- 3 回答
- 0 关注
- 275 浏览
添加回答
举报