String 将整数字符串日期转换为实际日期

String 将整数字符串日期转换为实际日期,string,r,date,integer,format,String,R,Date,Integer,Format,我试图将01102013(2013年10月1日)格式的日期转换为实际日期 R日期 我发现了一个与C#有关的类似问题,但对于R没有解决方案 我尝试了明显的as.Date(Date,format=%d%m%Y)方法,但出现了如下错误: 缺少原点(因为它将整数读取为自日期起的天数,但它是实际日期,中间没有破折号或斜杠) 我还试图找到一种方法,在数字之间插入-或\以尝试让R到达 识别它,但我也找不到这样做的方法。如果要将其解析为字符串,需要先将其转换为字符。您还需要在格式字符串周围加引号 > d

我试图将01102013(2013年10月1日)格式的日期转换为实际日期 R日期

我发现了一个与C#有关的类似问题,但对于R没有解决方案

我尝试了明显的
as.Date(Date,format=%d%m%Y)
方法,但出现了如下错误: 缺少原点(因为它将整数读取为自日期起的天数,但它是实际日期,中间没有破折号或斜杠)

我还试图找到一种方法,在数字之间插入-或\以尝试让R到达
识别它,但我也找不到这样做的方法。

如果要将其解析为字符串,需要先将其转换为字符。您还需要在格式字符串周围加引号

> date <- 01102013
> date
# [1] 1102013
# you need leading zeros, so you can't just use as.character()
> as.Date(sprintf("%08d", date), format="%d%m%Y")
# [1] "2013-10-01"
>日期
# [1] 1102013
#您需要前导零,因此不能只使用as.character()
>截止日期(sprintf(“%08d”,Date),格式=“%d%m%Y”)
# [1] "2013-10-01"

@JoshuaUlrich的答案很好,但要回答您的另一个问题(“如何在日期的各个部分之间插入分隔符?”)。。。(如Josh所示,在从数字转换为字符时,仍然需要确保执行零填充)


cdateLubridate为您提供以下服务:

library(lubridate)
dmy(01102013)
也可以尝试:
date
library(lubridate)
dmy(01102013)