中国的时区比UTC时区快8个小时,为了避免手工配置这个数字,可以通过程序动态获取:
Go
package main
import (
"fmt"
"time"
)
func main() {
name, offset := time.Now().Zone()
fmt.Printf("Local Zone name: %v, offset to UTC(seconds): %v\n", name, offset)
}
Local Zone name: CST, offset to UTC(seconds): 28800
Java
package com.pengpengzhou.TestOnly;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
public class App {
public static void main(String[] args) {
LocalDateTime dt = LocalDateTime.now();
ZoneId zone = ZoneId.systemDefault();
ZonedDateTime zdt = dt.atZone(zone);
ZoneOffset offset = zdt.getOffset();
String out = String.format("%s offset(seconds) %s", zone, offset.getTotalSeconds());
System.out.println(out);
}
}
Asia/Shanghai offset(seconds) 28800
Nodejs(javascript)
var d = new Date();
console.log("UTC - local offset(minutes):" + d.getTimezoneOffset());
UTC - local offset(minutes):-480