R-函数as.POSIXlt()输出不正确

时间:2015-05-27 10:24:32

标签: r

我将as.POSIXlt()函数应用于以下日期:

d2<-"08-12-1990"
d2pos<-as.POSIXlt(d2,format="%d-%m-%y")
d2pos
[1] "2019-12-08 IST"

为什么在应用as.POSIXlt()函数后日期会发生变化。
我错过了什么吗?

由于

2 个答案:

答案 0 :(得分:2)

<强> Modicifation:

d2<-"08-12-1990"
d2pos<-as.POSIXlt(d2,format="%d-%m-%Y")
d2pos

根据这个link y代表2位数,Y代表4位数,还有其他格式

当%y以格式给定时,将2000年的当前世纪考虑在内,并用输入的前两位数改变最后两位数

d2<-"08-12-15"
d2pos<-as.POSIXlt(d2,format="%d-%m-%y")
d2pos
"2015-12-08 IST"

答案 1 :(得分:1)

您的格式不正确。你需要一个大写Y.像这样:

d2<-"08-12-1990"
d2pos<-as.POSIXlt(d2,format="%d-%m-%Y")
d2pos

无资本化的y指定你有一个两位数的日期,它正在读取19并忽略90.