我查询数据库并在EST时间内找回日期向量
d =as.POSIXct(c("2015-06-19 00:38:08 EST","2015-06-19 00:38:33 EST"))
d
这里的载体
d
[1] "2015-06-19 00:38:08 EST" "2015-06-19 00:38:33 EST"
但我想要时区是格林尼治标准时间。
如何获得类似
的结果d
[1] "2015-06-19 00:38:08 GMT" "2015-06-19 00:38:33 GMT"
答案 0 :(得分:2)
喜欢这个?我不确定你想要完成什么。您问题的标题要求"更改时间,不更改日期"但是你的例子只改变了时区。这会在您的示例中生成结果。
d <- as.POSIXct(c("2015-06-19 00:38:08 EST","2015-06-19 00:38:33 EST"))
d
# [1] "2015-06-19 00:38:08 EDT" "2015-06-19 00:38:33 EDT"
as.POSIXct(as.character(d),tz="GMT")
# [1] "2015-06-19 00:38:08 GMT" "2015-06-19 00:38:33 GMT"
答案 1 :(得分:1)
首先,我们需要有一个明确的方式在美国纽约时间(由于在澳大利亚也存在东部时区,EST和#34;也是模糊的)。更好的是EST5EDT或&#34; America / New_York&#34;。)如果你运行在不同时区使用的代码,你就不会得到同样的时间:
> d =as.POSIXct(c("2015-06-19 00:38:08 EST","2015-06-19 00:38:33 EST"))
> d
[1] "2015-06-19 00:38:08 PDT" "2015-06-19 00:38:33 PDT"
字符时间的时区部分在创建时基本上被as.POSIXct忽略。而是使用:
> d =as.POSIXct(c("2015-06-19 00:38:08 EST","2015-06-19 00:38:33 EST"), tz="America/New_York", usetz=TRUE)
> d
[1] "2015-06-19 00:38:08 EDT" "2015-06-19 00:38:33 EDT"
请注意,已显示夏令时的正确显示。然后你可以使用format.POSIXt
输出&#34;同时&#34;在GMT / UCT / UTC时区:
> format(d, tz="GMT")
[1] "2015-06-19 04:38:08" "2015-06-19 04:38:33"
我希望这是strptime
如何处理日期时间输入的公平摘要:
在语言环境设置设置的当前时区中隐式输入日期时间,其中任何尾随
tz
指示符被忽略且没有警告,并存储为UCT,其偏移量由区域设置与UCT的差异确定。时区格式化% - &#39;特价&#39;仅用于strftime
和format.POSIXt
的输出。