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

请教个 golang 时区的问题

  •  
  •   wtfedc · 2022-05-30 16:23:14 +08:00 · 460 次点击
    这是一个创建于 695 天前的主题,其中的信息可能已经有所发展或是发生改变。

    上海时区也会区分 CST ,CDT 吗? CDT 不是北美才有的吗 代码如下

    package main
    
    import (
    	"fmt"
    	"time"
    )
    
    func main() {
    	var Zone, _ = time.LoadLocation("Asia/Shanghai")
    	d1, _ := time.ParseInLocation("2006-01-02T15:04:05", "1987-04-01T00:00:00", Zone)
    	d2, _ := time.ParseInLocation("2006-01-02T15:04:05", "1987-08-01T00:00:00", Zone)
    	fmt.Println(d1)
    	fmt.Println(d2)
    	duration := d2.Sub(d1).Hours()
    	fmt.Println(duration)
    }
    
    

    输出如下

    > 1987-04-01 00:00:00 +0800 CST
    > 1987-08-01 00:00:00 +0900 CDT
    > 2927
    

    2927 都不能整除 24 ,为什么同样的初始化,莫名其妙被吞了 1 小时

    hingle
        1
    hingle  
       2022-05-30 16:35:05 +08:00
    可以去搜一下国内什么时候实行和暂停了夏令时
    wtfedc
        2
    wtfedc  
    OP
       2022-05-30 16:38:33 +08:00
    @hingle 果然实行过... 1986 ~ 1991
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5282 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 03:45 · PVG 11:45 · LAX 20:45 · JFK 23:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.