如何将字符串转换为日期时间对象
How to convert a string into a date-time object
数据是字符,我希望它是日期时间。我有作弊 sheet 但没有任何格式可以满足奇怪的日期格式。有什么建议吗?
x <- 'Fri Dec 11 12:10:51 PST 2020'
您可以使用 anytime 包
> 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++)
大多数方法忽略时区属性是非常标准的。所以太平洋标准时间成为我的当地时间,即中央。
在基础 R 中,你可以这样做:
x <- 'Fri Dec 11 12:10:51 PST 2020'
as.POSIXct(x, format = '%a %b %d %T PST %Y')
有关详细的格式规范,请参阅 ?strptime
。
数据是字符,我希望它是日期时间。我有作弊 sheet 但没有任何格式可以满足奇怪的日期格式。有什么建议吗?
x <- 'Fri Dec 11 12:10:51 PST 2020'
您可以使用 anytime 包
> 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++)
大多数方法忽略时区属性是非常标准的。所以太平洋标准时间成为我的当地时间,即中央。
在基础 R 中,你可以这样做:
x <- 'Fri Dec 11 12:10:51 PST 2020'
as.POSIXct(x, format = '%a %b %d %T PST %Y')
有关详细的格式规范,请参阅 ?strptime
。