是否有一个 R 函数可以将十进制形式的日期时间字段 (41183.50417) 转换为 dd/mm/yyyy hh:mm:ss

Is there an R function that can convert datetime field which is in decimal form (41183.50417) to dd/mm/yyyy hh:mm:ss

我有一个包含数据时间列的输入文件,其中填充了 格式 (41183.50417) 的值,如何解释它并转换为时间戳?

我尝试使用 Lubridate 但输出带有时区,代码如下所示

as.POSIXct(as.Date(41183.50417, origin = '1900-01-01'),tz="")

输出如下图

2012-10-03 20:06:00 +08

我如何去掉这个 '+08',虽然我给了 tz="",但它一直显示

我遇到过 Unix Timestamp/epoch 等,但我不清楚这种格式 (41183.50417)。

我希望 41183.50417 的输出为 21/02/1999 10:21:20

如果你想摆脱时区显示,我们可以使用format

format(as.POSIXct(as.Date(41183.50417, origin = '1900-01-01')), "%Y-%m-%d %T")
#[1] "2012-10-03 20:06:00"

阅读 ?strptime 了解更多格式详细信息。