我有这种格式的时间:

t <- "4/2/2004 12:45"

I can extract day and month using these two lines:

strptime(t, "%m/%d/%Y %H:%M", tz="UTC")$day
strptime(t, "%m/%d/%Y %H:%M", tz="UTC")$mday

但这并没有给我想要的岁月。我给了我没有世纪的年份:
strptime(t, "%m/%d/%Y %H:%M", tz="UTC")$year

我怎样才能准确地得到年份?像 1987、2012 等。而不是 87 和 12。

如果有任何其他功能可用于此,我也同意。

最佳答案

添加 1900。有关详细信息,请参阅 ?POSIXlt 的详细信息部分。

> tm <- "4/2/2004 12:45"
> strptime(tm, "%m/%d/%Y %H:%M", tz="UTC")$year
[1] 104
> strptime(tm, "%m/%d/%Y %H:%M", tz="UTC")$year + 1900
[1] 2004

关于r - 如何从strptime中提取年份?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31973673/

10-12 23:43