【问题标题】:r datetime conversion from chr using strptime gives NAr 使用 strptime 从 chr 转换日期时间给出 NA
【发布时间】:2015-04-17 13:33:26
【问题描述】:

我有一个数据框,其中包含日期时间信息作为 dd/mm/yyyy hh:mm 格式的字符,但我无法将其转换为例如

 $ LaserStart : chr  "07/12/2014 11:21" "13/12/2014 05:37" 

我正在尝试使用

将它们转换为日期时间
data.LotCT$Start <- strptime(data.LotCT$LaserStart, "%d/%B/%Y %H:%M")

这个运行没有产生任何错误,但是当我查看数据框时我只有 NA

$ Start      : POSIXlt, format: NA NA NA ...

提前致谢

【问题讨论】:

  • 为什么是%B?为什么不像strptime("07/12/2014 11:21", "%d/%m/%Y %H:%M")那样%m
  • 我正在关注我搜索中出现的其他一些 SO 响应。但你是对的,那就是错误。谢谢
  • 没有冒犯,但您应该首先尝试遵循文档,然后作为最后的手段,遵循 SO 响应。 ?strptime 的文档特别普及。
  • 感谢您的建议,没有冒犯,我确实尝试检查但在这种情况下没有。我只能说很少让我失望,所以习惯首先把我带到这里。

标签: r date datetime


【解决方案1】:
> x <- "07/12/2014 11:21"
> y <- strptime(x, format='%m/%d/%Y %H:%M')
> strftime(y, '%d/%B/%Y %H:%M')
[1] "12/July/2014 11:21"

【讨论】:

    【解决方案2】:

    刚刚发现

    data.LotCT$Start <- strptime(data.LotCT$LaserStart, "%d/%B/%Y %H:%M")
    

    应该是

    data.LotCT$Start <- strptime(data.LotCT$LaserStart, "%d/%m/%Y %H:%M")
    

    给了

     $ Start      : POSIXlt, format: "2014-12-07 11:21:00" "2014-12-13 05:37:00"
    

    打扰大家了 :)

    【讨论】:

      猜你喜欢
      • 2019-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-23
      • 2016-12-07
      • 2015-07-30
      • 1970-01-01
      • 2015-07-04
      相关资源
      最近更新 更多