获取时区自上一个午夜以来的持续时间
Obtain duration since last midnight in time zone
我想获取某个时区自上次午夜以来的持续时间。
我试过以下方法:
estLocation, _ := time.LoadLocation("America/New_York")
nowEST := time.Now().In(estLocation)
midnightEST := nowEST.Truncate(24 * time.Hour)
diff := time.Since(midnightEST)
以及使用 Round
而不是 Truncate
。
但是,这只会将时钟拨回 24 小时,而不是返回美国东部时间的午夜。
如何实现?
通过从日期构造时间来获取午夜时间:
loc, _ := time.LoadLocation("America/New_York")
now := time.Now().In(loc)
midnight := time.Date(now.Year(), now.Month(), now.Day(), 0, 0, 0, 0, loc)
从现在减去午夜得到持续时间:
d := now.Sub(midnight)
Run it on the playground。请注意 time.Now() 在操场上是一个常量值。
我想获取某个时区自上次午夜以来的持续时间。
我试过以下方法:
estLocation, _ := time.LoadLocation("America/New_York")
nowEST := time.Now().In(estLocation)
midnightEST := nowEST.Truncate(24 * time.Hour)
diff := time.Since(midnightEST)
以及使用 Round
而不是 Truncate
。
但是,这只会将时钟拨回 24 小时,而不是返回美国东部时间的午夜。
如何实现?
通过从日期构造时间来获取午夜时间:
loc, _ := time.LoadLocation("America/New_York")
now := time.Now().In(loc)
midnight := time.Date(now.Year(), now.Month(), now.Day(), 0, 0, 0, 0, loc)
从现在减去午夜得到持续时间:
d := now.Sub(midnight)
Run it on the playground。请注意 time.Now() 在操场上是一个常量值。