2014-03-25 56 views

回答

3

尝试动物园库:

library(zoo) 
> (date <- as.POSIXct(as.yearmon(2010))) 
[1] "2010-01-01 GMT" 
> format(date, "%Y/%m/%d %H:%M:%S") 
[1] "2010/01/01 00:00:00" 

编辑:@ user3370470请解释一下。下面证实我到目前为止所说的话。

> format(as.POSIXct(as.yearmon(1800)), "%Y/%m/%d %H:%M:%S") 
[1] "1800/01/01 00:00:00" 
> format(as.yearmon(1800), "%Y/%m/%d %H:%M:%S") 
[1] "1800/01/01 00:00:00" 

as.POSIXct(as.yearmon(1800)结果是一个日期时间对象,POSIXct类。

+0

感谢您的回答。但是这不是很好,因为我有%H:%M:%S不是00:00:00格式。加文凯利的回答非常好。 – user3370470

+0

@ user3370470我不明白上述结果与您询问的相同......请澄清 – Michele

+0

@ user3370470您是否已经计算出为什么'%H:%M:%S不在00:00:00格式中?我仍然没有看到上述方法和您的要求之间的差异... – Michele

1

我不知道date格式 - 有一个Date类,你的意思是说。如果您拥有的唯一信息是年份,那么为什么不是sprintf("%s/01/01 00:00:00", charYear)其中charYear是年度字符串表示的向量。

+0

不错,你可以很容易地把上面的代码包装起来:'as.POSIXct(sprintf(“%s/01/01 00:00:00”,2010))'并且得到一个实际的日期时间类,因为它是默认的格式。 – Michele

+0

非常好的服务!谢谢 ! – user3370470

相关问题