add timehelper;
parent
170bdd0b45
commit
67cfd86cf5
@ -0,0 +1,3 @@
|
|||||||
|
module git.blauwelle.com/go/crate/timehelper
|
||||||
|
|
||||||
|
go 1.20
|
@ -0,0 +1,8 @@
|
|||||||
|
package timehelper
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
// SetupCST 把本地时区固定到CST
|
||||||
|
func SetupCST() {
|
||||||
|
time.Local = time.FixedZone("CST", 8*3600)
|
||||||
|
}
|
@ -0,0 +1,34 @@
|
|||||||
|
package timehelper_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Javascript 只能精确到毫秒:
|
||||||
|
// new Date('2023-01-15T15:16:17.123456789+08:00').toISOString()
|
||||||
|
// Output: '2023-01-15T07:16:17.123Z'
|
||||||
|
func ExampleRFC3339Nano() {
|
||||||
|
t, _ := time.Parse(time.RFC3339Nano, "2023-01-15T15:16:17.123456789+08:00")
|
||||||
|
fmt.Println(t.Format(time.RFC3339Nano))
|
||||||
|
// Output: 2023-01-15T15:16:17.123456789+08:00
|
||||||
|
}
|
||||||
|
|
||||||
|
func ExampleRFC3339Nano2Sec() {
|
||||||
|
t, _ := time.Parse(time.RFC3339Nano, "2023-01-15T15:16:17.123456789+08:00")
|
||||||
|
fmt.Println(t.Format(time.RFC3339))
|
||||||
|
// Output: 2023-01-15T15:16:17+08:00
|
||||||
|
}
|
||||||
|
|
||||||
|
// 使用 RFC3339 没有丢失纳秒精度
|
||||||
|
func ExampleRFC3339Sec2Nano() {
|
||||||
|
t, _ := time.Parse(time.RFC3339, "2023-01-15T15:16:17.123456789+08:00")
|
||||||
|
fmt.Println(t.Format(time.RFC3339Nano))
|
||||||
|
// Output: 2023-01-15T15:16:17.123456789+08:00
|
||||||
|
}
|
||||||
|
|
||||||
|
func ExampleRFC3339NanoOtherZone() {
|
||||||
|
t, _ := time.Parse(time.RFC3339Nano, "2023-01-15T15:16:17.123456789+09:00")
|
||||||
|
fmt.Println(t.Format(time.RFC3339Nano))
|
||||||
|
// Output: 2023-01-15T15:16:17.123456789+09:00
|
||||||
|
}
|
Loading…
Reference in New Issue