首页 > 解决方案 > 如何将字符串转换为日期时间对象

问题描述

数据是字符,我希望它是日期时间。我有备忘单,但没有任何格式可以满足奇怪的日期格式。有什么建议么?

x <- 'Fri Dec 11 12:10:51 PST 2020'

标签: rdata-manipulationlubridate

解决方案


您可以使用随时

> library(anytime)
> anytime("Fri Dec 11 12:10:51 PST 2020")
[1] "2020-12-11 12:10:51 CST"
> 
> class(anytime("Fri Dec 11 12:10:51 PST 2020"))
[1] "POSIXct" "POSIXt" 
> 

它具有三个关键优势:

  • 它可以猜测格式(如这里)
  • 它转换各种输入格式(包括字符,因子,...)
  • 它非常快(因为解析器是来自 Boost 的 C++)

对于大多数方法来说,忽略 timezone 属性是非常标准的。所以 PST 变成了我的当地时间,中央时间。


推荐阅读