- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个在莫斯科时区配置的系统。莫斯科在每年三月的最后一个星期日进入夏令时。莫斯科夏令时 (MSD) 为 UTC +4 小时。在 10 月的最后一个星期日,夏令时结束,回到莫斯科标准时间 (MSK),即 UTC +3 小时。
从 MSD 到 MSK 的过渡发生在 10 月的最后一个星期日凌晨 3 点。到凌晨 3 点,时钟再次重置为凌晨 2 点。因此,在 10 月的最后一个星期日,将有两次凌晨 2 点。在凌晨 2 点的第一个实例中,莫斯科仍处于 MSD(UTC +4)。在凌晨 2 点的第二个实例中,莫斯科位于 MSK (UTC +3)。
我的问题是,如果我在 10 月的最后一个星期日凌晨 2 点的第二个实例使用 localtime() 函数获取本地时区信息,tm_isdst 标志将由 localtime() 设置还是不设置.我的观察是,在 MSK 的凌晨 2 点到凌晨 3 点(第二个实例)的一小时窗口期间,tm_isdst 标志由 localtime() 设置。这是错误还是预期的行为?
作为记录,我的时区/欧洲 tz 数据库文件是最新的,并且相应的时区数据库文件被 zic 编译器正确编译为/usr/share/zoneinfo/Europe/Moscow。
最佳答案
从对规范的一些研究来看,C 似乎从环境变量中确定了所有这些信息。在这种情况下,TZ 环境变量是为 POSIX 指定的。 Windows 将其存储在注册表位置。在这 1 小时内,您显然不再处于夏令时,因此根据 tm_isdst 标志的定义,它应该是明确的。
要知道它是否是编译器/库实现或操作系统的错误,您必须在此期间直接检查环境变量值。
关于c - 为什么 localtime() 在 DST 结束并且时间回落一小时时将 tm_isdst 标志设置为 1 小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5026077/
当我运行该线路时 time.strptime("2012-06-01 12:00:00 "+time.strftime("%Z"), "%Y-%m-%d %H:%M:%S %Z") 它为我创建了一个结
我正在使用 strptime 来解析具有以下格式化程序的用户日期输入字符串:%F %T %z 用于格式 YYYY-MM-DD HH:MM:SS +- UTC 偏移量。我想添加一个选项,以便用户可以指定
我看到了很多不同的观点,所以想在这里问问。 我阅读了man mktime: (A positive or zero value for tm_isdst causes mktime() to pre
我对 tm 结构中 tm_isdst 标志的使用有以下疑问。根据手册页和谷歌搜索结果,我知道它的值解释如下 一个。值 0 表示 DST 在表示的时间内无效 B.值为 1 表示 DST 生效 C.值 -
我是 Python 的初学者。我有一个脚本,我想在其中检查东部时区当前是否处于夏令时: import sys import os import time os.environ['TZ'] = 'Ame
另一个关于mktime和DST的问题 Linux、Ubuntu,时区设置为欧洲/柏林,即当前时间为 CEST: >date Mon Aug 22 16:08:10 CEST 2016 >date --
我有一个在莫斯科时区配置的系统。莫斯科在每年三月的最后一个星期日进入夏令时。莫斯科夏令时 (MSD) 为 UTC +4 小时。在 10 月的最后一个星期日,夏令时结束,回到莫斯科标准时间 (MSK),
我是一名优秀的程序员,十分优秀!