作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在“America/Detroit”和“GMT”之间转换时间戳时遇到了一个奇怪的情况。仔细检查后,我发现 R 在 2010 年和 2011 年夏令时结束当天凌晨 1 点到 2 点之间转换的时间不同。2010 年,它将这些时间列为“EDT”,而在 2011 年,它将这些时间列为“EST”。结果是转换为 GMT 在一种情况下增加了 4 小时,在另一种情况下增加了 5 小时。任何人都可以了解这种情况并提出纠正这种不一致的解决方案吗?
a = as.POSIXct("2010-11-07 01:58:00", tz = "America/Detroit")
#[1] "2010-11-07 01:58:00 EDT"
b = as.POSIXct("2011-11-06 01:58:00", tz = "America/Detroit")
# [1] "2011-11-06 01:58:00 EST"
format(c(a,b), tz = "GMT")
# [1] "2010-11-07 05:58:00" "2011-11-06 06:58:00"
最佳答案
您提供的时间不明确。由于时钟在 2 点“倒退”,这些天的本地时间 1:58 每天出现两次,一次在美国东部时间,一次在美国东部时间。
两者都是正确的,因为您没有指定您的意思。
操作系统库代码将(可能)使用迭代算法,当派生的 time_t
值与传递给 mktime 的
。因此,结果基本上是随机的。struct tm
值一致时结束
这是一个例子:
http://www.opensource.apple.com/source/ntp/ntp-13/ntp/libntp/mktime.c
关于r - 为什么 R 多年来不一致地处理夏令时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32237724/
在Amazon App Store上进行应用内购买无法使用很多年,包括他们自己的示例项目。可能是从SDK 27开始。 在SDK 28 Android Studio上获取以下代码:
我是一名优秀的程序员,十分优秀!