cik*_*erd 102
package main
import (
"time"
"fmt"
)
func main(){
fmt.Println(time.Now().Format(time.RFC3339))
}
Run Code Online (Sandbox Code Playgroud)
Cra*_*row 33
package main
import (
"fmt"
"time"
)
func main() {
fmt.Println(time.Now().UTC().Format("2006-01-02T15:04:05-0700"))
}
Run Code Online (Sandbox Code Playgroud)
我有以下规格:
YYYY-MM-DDThh:mm:ss.sssZ
Run Code Online (Sandbox Code Playgroud)
最终Z明确存在于示例中。
我是这样处理的:
time.RFCxxx离我的目标最近的那个这是
2006-01-02T15:04:05.999Z
Run Code Online (Sandbox Code Playgroud)
用 Z 替换格式中的符号会触发 ISO 8601 行为。这正是时间。RFC3339。如果您希望字符串输出以 'Z' 结尾,您需要做的是转换为 UTC 区域。
package main
import (
"fmt"
"time"
)
func main() {
fmt.Println(time.Now().UTC().Format("2006-01-02T15:04:05Z07:00"))
}
// this is the same format used by RFC3339. just a note on why.
Run Code Online (Sandbox Code Playgroud)
ISO8601 允许可变级别的粒度。您可以只有年、年+月、年+月+日,添加时间部分,也可以选择时区部分。但是,Go 的内置时间解析要求您提前知道将包含哪些部分。
github.com/btubbs/datetime 库提供了一个更灵活的解析器,可以处理所有常用的 ISO8601 格式。见https://github.com/btubbs/datetime
披露:我写了那个库。
| 归档时间: |
|
| 查看次数: |
34583 次 |
| 最近记录: |