V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
wk1563396689
V2EX  ›  问与答

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

  •  
  •   wk1563396689 · 2020-05-18 11:37:56 +08:00 · 1263 次点击
    这是一个创建于 1657 天前的主题,其中的信息可能已经有所发展或是发生改变。
    3 条回复    2020-05-19 11:21:51 +08:00
    Mutoo
        1
    Mutoo  
       2020-05-18 12:30:38 +08:00
    1) 总是使用 ISO_8601 的日期格式。
    new Date().toISOString() 可以得到当前 UTC 时间的 ISO8601 表示,以 "z" 结尾。
    这个方法不带时区。
    2) 使用 new Date().getTimezoneOffset() 获得与 UTC 的时间差,单位分钟,来表示时区。
    例如 +10:00 时区 getTimezoneOffset() 得到 -600
    wk1563396689
        2
    wk1563396689  
    OP
       2020-05-18 18:06:45 +08:00
    这边是因为 java 是放到 docker 里面去跑的,java 的 new date()和 getTimeZone()拿到的都是 jvm 的时间,docker 里面是 jvm 的时间是 utc 时间,所有最后考虑的是前端获取当地时间,求得偏移量传到后端,比如现在我拿到的是 08:00
    wk1563396689
        3
    wk1563396689  
    OP
       2020-05-19 11:21:51 +08:00
    但是我在实际测试的时候只要 TimeZone.setTimeZone("GMT"+8)就可以转换时区了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2821 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 03:50 · PVG 11:50 · LAX 19:50 · JFK 22:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.