转换R中的Twitter时间戳

Bti*_*rt3 6 datetime r

我是R的新手,处理日期很糟糕.以下日期从查询返回到Twitter搜索API,并作为字符串存储在我的数据框中.

"星期五,2011年1月14日03:01:22 +0000"

如何将此转换为日期并将时区更改为东部标准时间?

我认为这可能是直截了当的,但我涉足strptime而无处可去.

任何帮助将不胜感激!

Ton*_*yal 11

这对我有用(我在英国):

> ( str <- "Fri, 14 Jan 2011 03:01:22 +0000" )
[1] "Fri, 14 Jan 2011 03:01:22 +0000"

> ( str <- strptime(str, "%a, %d %b %Y %H:%M:%S %z", tz = "GMT") )
[1] "2011-01-14 03:01:22 GMT"

> ( dt.gmt <- as.POSIXct(str, tz = "GMT") )
[1] "2011-01-14 03:01:22 GMT"

> format(dt.gmt, tz = "EST", usetz = TRUE)
[1] "2011-01-13 22:01:22 EST"
Run Code Online (Sandbox Code Playgroud)

日期/时间让我很困惑,所以我希望上面的内容适合你,即使你和格林尼治标准时间处于不同的时区,但我不能确定!

希望它至少有点帮助,Tony


uli*_*tko 6

来自help(strptime):

> Sys.setlocale("LC_TIME", "C")
[1] "C"
> strptime("Tue, 23 Mar 2010 14:36:38 -0400",
+          "%a, %d %b %Y %H:%M:%S %z",
+          tz="GMT")
[1] "2010-03-23 18:36:38 GMT"
Run Code Online (Sandbox Code Playgroud)

注意区域设置:如果不将其重置为C,则该函数将尝试将工作日和月份缩写解析为本地化.