R:将字符向量转换为POSIXlt

时间:2013-08-19 09:37:00

标签: r date time

我想知道如何将包含像"Mon Aug 19 05:00:07 +0000 2013"这样的字符向量的数据框中的列转换为POSIXlt格式。

df$created_at<-as.POSIXlt(df$created_at,  format= "%a %b %d %H:%M:%S %z %Y",tz="")

给了我NA的

我关注http://stat.ethz.ch/R-manual/R-devel/library/base/html/strptime.html

谢谢!

1 个答案:

答案 0 :(得分:1)

问题似乎与语言环境有关。 %a%b在当前区域设置中匹配缩写的日期和月份名称,因此,如果您当前的区域设置未设置为英语,则示例中的MonAug将获胜t被识别为日期和月份名称。

一种解决方法是将您的语言环境设置为英语或C,也称为POSIX locale。这可以通过以下方式完成:

Sys.setlocale("LC_TIME", "C")