1
|
Andrey Savov Steve Summit · 技术社区 · 8 年前 |
![]() |
1
2
您提到了这一事实,但重要的是要注意,UTC和时区时间之间的偏移量不一定是恒定的。如果时区执行夏时制(夏季)时间调整,则偏移将根据一年中的时间而变化。
找到偏移量的一种方法是利用您感兴趣的时间,将其交给
目前这张照片显示的是-25200,表明洛杉矶在格林威治以西25200秒,或420分钟,或7小时。但下周(实际上是明天)美国将停止DST,届时该代码将开始打印-28800。
这不能保证有效,因为
另一种方法是与
附录:您被问及不使用环境变量的问题。有一种方法,但不幸的是,它更不标准。有BSD功能
对我来说,这打印-28800(因为PDT在几分钟前回到了PST)。
如果你有它,你也可以使用
编辑(OP):用于
|
![]() |
2
2
你可以用这个 free open source C++11/14 library 要这样做:
这目前输出:
或者您可以将其格式化为不同的格式,如下所示:
其当前输出:
工厂功能
UTC偏移量存储为
上面的程序是线程安全的。您不必担心其他过程将TZ从您下面更改出来,或者以任何其他方式更改计算机的当前时区。如果你
希望
有关当前时区的信息,也可用,只需使用
如果你想探索其他时间,那也很容易。例如,从2016年11月6日当地时间凌晨2点开始:
输出变为:
有关该库的更多信息在2016年Cppcon上展示,可在此处查看: |
![]() |
3
1
使用
注意
食谱看起来像这样:
看见 the documentation of these library functions
要使用特定时区,请设置
|
![]() |
Gautam · 根据当前时区,从UTC获取当前偏移量(包括夏令时) 7 年前 |
![]() |
IamIC · PostgreSQL时间戳转换中的奇怪时区 7 年前 |
![]() |
HoTicE · 如何在PST上实现毫微秒到午夜 8 年前 |