如何将特定字符串转换为r中的日期时间



嗨,谢谢你阅读我的文章。我试图将字符串转换为r中的日期时间格式,但我找不到方法,因为年份只取最后两位数字("22"而不是"2022"(,我不知道如何修复它。

字符串是";23/8/22 12:45";我试过:

as.Date("23/8/22 12:45", format ="%m/%d/%Y" )

as_datetime(ymd_hm("23/8/22 12:45"), format ="%m/%d/%Y")

但它不起作用。有人知道我该怎么修吗?感谢的帮助

as.Date只返回日历日期,因为类Date对象只显示为日历日期。

除了POSIXct,您还可以使用lubridate包中的parse_date_time

library(lubridate)
parse_date_time("23/8/22 12:45", "dmy HM", tz="") #dmy - day, month, year HM - hour, minute
# Or the second function:
dmy_hm("23/8/22 12:45",tz=Sys.timezone())

正如评论中所提到的,您需要使用"%d/%m/%y";以正确解析字符串中的日期。但是,如果您想要日期时间格式(在基本r中,这通常是用POSIXct类完成的(,则可以使用as.POSIXct("23/8/22 12:45", format = "%d/%m/%y %H:%M")。这将确保您保留字符串中有关时间的信息。

相关内容

  • 没有找到相关文章

最新更新