[英]R How to convert date format
我正在寻找将以下字符串转换为日期格式:
string <- '22APR2020'
date <- as.Date(string, format='%d%b%y')
date
>>> NA
不幸的是,结果是NA
,我需要将其转换为日期,以便能够计算两个日期之间的时间。
谢谢
您可以anytime
使用 package:
library(anytime)
string <- '22APR2020'
anytime::anydate(string)
[1] "2020-04-22"
问题是您的语言环境设置。 它可能设置为第四个月不缩写为“APR”的语言。
Sys.setlocale("LC_TIME", "French")
string <- '22APR2020'
as.Date(string, format='%d%b%Y')
#[1] NA
Sys.setlocale("LC_TIME", "German")
as.Date(string, format='%d%b%Y')
#[1] "2020-04-22"
另外,请注意格式字符串中使用了大写的Y
这一点很重要。 y
仅指十年(偶然会在 2020 年给出相同的结果,但在 2021 年给出错误的结果)。
如有疑问,请始终使用lubridate
:
string <- '22APR2020'
library(lubridate)
dmy(string)
[1] "2020-04-22"
这里 dmy 是日期、月份和年份出现的顺序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.