strptime返回NA - 即使在systime上使用相同格式代码的字符串时也是如此

时间:2018-03-09 09:26:52

标签: r strptime

我完全不知所措:

strptime(format(Sys.time(), "%Y%a%b%e %R%p"),format="%Y%a%b%e %R%p")

返回NA

我想知道为什么我总是NA,所以我尝试将Sys.time转换为字符串,并使用完全相同的格式代码立即返回POSIXct

2 个答案:

答案 0 :(得分:0)

您没有使用正确的日期格式:

strptime(format(Sys.time(), "%Y-%m-%d %H:%M:%S"),format="%Y-%m-%d %H:%M:%S")

返回您想要的内容:

" 2018-03-09 10:33:52 CET"

答案 1 :(得分:0)

这似乎是系统区域设置的问题。我的本机系统区域设置是德语。我用了

  

Sys.setlocale(" LC_ALL""英语&#34)

将其设置为英语。但是,这显然不够深入。我将我的Windows系统区域设置为英语/美国,现在我的原始代码可以正常工作。这太糟糕了!

更新:使用

  

Sys.setlocale(" LC_ALL"," English_United States")

解决了这个问题。