繁体   English   中英

R中日期对象的as.character的一致输出

[英]Consistent output of as.character for date objects in R

外部R库使用as.character函数将不同类的对象转换为字符串。 除我的日期对象(类“ POSIXlt”和“ POSIXt”)外,其他方法都正常运行:通常,输出类似于“ 2010-11-04 10:43:00”(完美),但是每次时间为00:00 :00(午夜),省略了时间部分,只有日期部分显示为“ 2010-11-04”。 但是为了进一步处理,我需要一个一致的输出格式。 因此,无论如何都应显示时间部分。

我不能简单地使用format函数,因为外部库会进行调用。 因此,我认为覆盖类“ POSIXlt”和“ POSIXt”的as.character函数可能是一种解决方案,但我不知道如何。 欢迎其他想法:)

您只需创建自己的对象即可覆盖POSIXct对象的as.character方法。

as.character.POSIXct <- function(x, format="%Y-%m-%d %H:%M:%S", ...)
format(x, format=format, ...)

但是,在这种情况下,不存在as.character.POSIXct因此您实际上并未覆盖任何内容。 但是,您覆盖默认的as.character.POSIXt方法,该方法将在没有POSIXct方法的情况下被调用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM