首页 > 解决方案 > 解析日期时间函数顺序格式

问题描述

原始输入数据格式如:“1975M01”,变量名称为Month。我们将输入放入 POSIXct 日期时间对象的方式是:parse_date_time(Month, "%Y%m"). 我想知道为什么我们忽略了'M'(1975 M 01),例如该函数如何识别年份和月份并自动忽略中间的M?

标签: rdatetimedatetime-formatlubridate

解决方案


你可以试试as.POSIXct()。不过,我们没有日子。但可能我们想要一个月的第一天,并且就paste 01在字符串的末尾。最后"M"在字符串中定义字面意思format=,当然还要加上%day,

x <- as.POSIXct(paste0('1975M01', '01'), format='%YM%m%d')
x
# [1] "1975-01-01 CET"

在哪里

class(x)
# [1] "POSIXct" "POSIXt" 

.

这也应该适用lubridate但无法安装。


推荐阅读