Datetime 在R中转换Twitter时间戳

Datetime 在R中转换Twitter时间戳,datetime,r,Datetime,R,我是R的新手,处理日期很糟糕。以下日期从查询返回到Twitter搜索API,并作为字符串存储在my dataframe中 “2011年1月14日星期五03:01:22+0000” 如何将其转换为日期并将时区更改为东部标准时间 我想这可能是直截了当的,但我涉猎了strtime却一无所获 任何帮助都将不胜感激 从帮助(strtime): 注意区域设置:如果不将其重置为C,该函数将尝试将工作日和月份缩写解析为本地化的。我强烈建议您查看CRAN上Jeff Gentry的twitteR软件包。在其他细节中

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

“2011年1月14日星期五03:01:22+0000”

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

我想这可能是直截了当的,但我涉猎了strtime却一无所获

任何帮助都将不胜感激

帮助(strtime)


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

我强烈建议您查看CRAN上Jeff Gentry的twitteR软件包。在其他细节中,它为您解析日期字符串:

> library(twitteR)
> tweets = searchTwitter('#rstats')
> length(tweets)
[1] 25
> tweet = tweets[[1]]
> str(tweet)
Formal class 'status' [package "twitteR"] with 10 slots
  ..@ text        : chr "The Joy of Sweave \023 A Beginner\031s Guide to Reproducible Research with Sweave: Just& http://goo.gl/fb/APmCb #rstats"
  ..@ favorited   : logi FALSE
  ..@ replyToSN   : chr(0) 
  ..@ created     : POSIXct[1:1], format: "2011-01-18 04:48:05"
  ..@ truncated   : logi FALSE
  ..@ replyToSID  : num(0) 
  ..@ id          : num 2.72e+16
  ..@ replyToUID  : num(0) 
  ..@ statusSource: chr "<a href="http://www.google.com/support/youtube/bin/answer.py?hl=en&answer=164577" rel="nofollow">"| __truncated__
  ..@ screenName  : chr "Rbloggers"
这对我很有用(我在英国):

>(str(str(dt.gmt格式,dt.gmt,tz=“EST”,usetz=TRUE)
[1] “2011-01-13 22:01:22美国东部时间”
日期/时间让我很困惑,所以我希望上面的内容对你有用,即使你与格林尼治标准时间在不同的时区,但我不能确定

希望它至少有点帮助,
Tony

你在使用什么语言?-更新:nvm,我不知道R是一种语言。谢谢你的帮助,但是当我尝试运行你的示例代码时,它在我的机器上的计算结果为NA。我甚至使用我的数据尝试了相同的函数调用,得到了相同的结果。起初我也得到了NA。你忘了重置区域设置吗?是的,我运行了您的代码及其计算结果未达到日期,仅为NA。再次感谢您的帮助,仅此而已。@btibert3让我们尝试解决您的困惑。您的操作系统和区域设置是什么?Windows 7,使用Sys.locale(),我得到:“LC_COLLATE=英语_美国。1252;LC_CTYPE=英语_美国。1252;LC_MONETARY=英语_美国。1252;LC_NUMERIC=C;LC_TIME=英语_美国。1252"嗨,Jeffrey,我确实看到了这一点,而且这个包非常棒。有一件事对我不起作用,那就是调用ID来获取我需要的类“status”的ID。它对你起作用吗?虽然我从Twitter上获取数据,但我还是用它作为一般日期解析的示例。再次使用Thx。哦,我现在看到它将ID视为一个浮点值。是的——那个pr可能不会那么好用…嗨,托尼,谢谢你的帮助。在我的机器上,第二个命令的表达式返回“NA”,正如我在下面收到的一样。正如其他答案所引用的,你认为这与我的区域设置有关吗?我也在Windows 7机器上。我升级到了2.12,这段代码按预期工作(在2.10上).你知道这两个版本之间有什么不同吗?@Btibert3不知道这两个版本之间有什么变化,但很高兴它对你有用,伙计。:)
> library(twitteR)
> tweets = searchTwitter('#rstats')
> length(tweets)
[1] 25
> tweet = tweets[[1]]
> str(tweet)
Formal class 'status' [package "twitteR"] with 10 slots
  ..@ text        : chr "The Joy of Sweave \023 A Beginner\031s Guide to Reproducible Research with Sweave: Just& http://goo.gl/fb/APmCb #rstats"
  ..@ favorited   : logi FALSE
  ..@ replyToSN   : chr(0) 
  ..@ created     : POSIXct[1:1], format: "2011-01-18 04:48:05"
  ..@ truncated   : logi FALSE
  ..@ replyToSID  : num(0) 
  ..@ id          : num 2.72e+16
  ..@ replyToUID  : num(0) 
  ..@ statusSource: chr "<a href="http://www.google.com/support/youtube/bin/answer.py?hl=en&answer=164577" rel="nofollow">"| __truncated__
  ..@ screenName  : chr "Rbloggers"
> ( 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"