【问题标题】:R: POSIXct conversion fails although local is setR:POSIXct 转换失败,尽管设置了本地
【发布时间】:2018-08-06 08:38:42
【问题描述】:

在尝试将英文日期从字符串转换为 POSIX 时,我得到了 NA。 我正在使用德国电脑,但我将语言环境设置为美国。

> Sys.getlocale(category = "LC_TIME")
[1] "English_United States.1252"

as.POSIXct("23-MAI-18 03:14:00",  
format="%d-%b-%y %H:%M:%S")
[1] "2018-05-23 03:14:00 CEST"

> as.POSIXct("23-MAY-18 03:14:00",  
format="%d-%b-%y %H:%M:%S")
[1] NA

【问题讨论】:

  • 什么产生完整的Sys.getlocale()
  • 我又玩了一些语言环境。现在显示为:[1] "LC_COLLATE=English_United States.1252;LC_CTYPE=English_United States.1252;LC_MONETARY=English_United States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252" 但它现在可以工作了!我只是认为 LC_TIME 就足够了
  • 太好了。然后您可以为社区描述解决方案并回答您自己的问题。

标签: r timestamp posix


【解决方案1】:

我不知道为什么,但是使用 Sys.setlocale("LC_ALL", "English") 设置所有区域设置为我解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-05
    • 2015-12-28
    • 2019-05-07
    相关资源
    最近更新 更多