V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
wk1563396689
V2EX  ›  问与答

从前端拿到和 UTC 的偏移量 08:00 ,该怎么转换获得时区呢?

  •  
  •   wk1563396689 · May 18, 2020 · 1632 views
    This topic created in 2178 days ago, the information mentioned may be changed or developed.
    3 replies    2020-05-19 11:21:51 +08:00
    Mutoo
        1
    Mutoo  
       May 18, 2020
    1) 总是使用 ISO_8601 的日期格式。
    new Date().toISOString() 可以得到当前 UTC 时间的 ISO8601 表示,以 "z" 结尾。
    这个方法不带时区。
    2) 使用 new Date().getTimezoneOffset() 获得与 UTC 的时间差,单位分钟,来表示时区。
    例如 +10:00 时区 getTimezoneOffset() 得到 -600
    wk1563396689
        2
    wk1563396689  
    OP
       May 18, 2020
    这边是因为 java 是放到 docker 里面去跑的,java 的 new date()和 getTimeZone()拿到的都是 jvm 的时间,docker 里面是 jvm 的时间是 utc 时间,所有最后考虑的是前端获取当地时间,求得偏移量传到后端,比如现在我拿到的是 08:00
    wk1563396689
        3
    wk1563396689  
    OP
       May 19, 2020
    但是我在实际测试的时候只要 TimeZone.setTimeZone("GMT"+8)就可以转换时区了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2899 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 07:16 · PVG 15:16 · LAX 00:16 · JFK 03:16
    ♥ Do have faith in what you're doing.