繁体   English   中英

如何将文本字符串 20200821144500 转换为 r 中的日期和时间格式?

[英]How to convert a text string 20200821144500 into date and time format in r?

我有一个像这样 20200821144500 保存的日期/时间列。如何将其转换为日期和时间格式? 我尝试了 as.POSIXct('20200821144500',format="%Y-%m-%d %H:%M:%S") ,它返回了 NA。 我使用了错误的格式还是有其他方法可以做到这一点?

基于lubridate::ymd_hms的可能解决方案:

lubridate::ymd_hms("20200821144500")  
  
#> [1] "2020-08-21 14:45:00 UTC"

这里的主要特征是在字符串中判断哪个是第一年的月份或日期等。 并使用 HMS ,因为:

  • hms、hm 和 ms 用法已失效,请改用 HMS、HM 或 MS。 在版本“1.5.6”中已弃用。
library(lubridate)

string <- "20200821144500"

parse_date_time(string, "ymd_HMS")

[1] "2020-08-21 14:45:00 UTC"

使用正确formatstrptime的另一个选项:

strptime(as.character(20200821144500),format="%Y%m%d%H%M%S")
#> [1] "2020-08-21 14:45:00 CEST"

reprex 包(v2.0.1)于 2022-07-08 创建

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM