我在数据框中有一个列,作为日期时间(因子),其值为“15-10-2017 16:41:00”。
我希望将此数据转换为“2017-10-15 16:41:00”。
当我尝试转换时,我也将时区作为输出。
我尝试使用tz =“”,usetz = F,但没有用。
有什么建议么 ?
代码:
as.POSIXlt("15-10-2017 16:41:00",format = "%d-%m-%Y %H:%M:%S") [1] "2017-10-15 16:41:00 IST"
最佳答案
从as.POSIXlt
的帮助页面:
“”是当前时区
这是默认值。
这就是为什么它不起作用。您可以通过这种方式删除时区信息,并且在打印时不会显示该信息:
my_datetime <- as.POSIXlt("15-10-2017 16:41:00",format = "%d-%m-%Y %H:%M:%S")
my_datetime$zone <- NULL
my_datetime
但我不明白您为什么要这么做。如果您不想担心时区,则应转换为GMT。另外,如果您必须强制某些特定的时区,
lubridate
包也有一个不错的force_tz
函数。
关于在R中进行POSIXlt转换期间删除时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44970127/