从 MDY-HMS 转换为 YMD-HMS 时如何在 R 中保留午夜时间戳

问题描述 投票:0回答:1

我有一个字符串,以 MDY-HMS 格式给出日期和时间戳

"12/14/23 12:00:00 AM"

当我使用

mdy_hms
中的
lubridate
函数将字符串重新格式化为YMD-HMS时,时间戳消失了。

如何确保保留午夜时间戳?

当我使用

mdy_hms
中的
lubridate
函数将字符串重新格式化为YMD-HMS时,时间戳消失了。

mdy_hms("12/14/23 12:00:00 AM")

"2023-12-14 UTC"

我测试了 mdy_hms 函数,将小时中的 12 替换为 00,它给出了相同的结果,但是当字符串的时间戳部分是 12:01:00 AM 或 00:01:00 AM 时,时间戳已保存。

mdy_hms("12/14/23 12:01:00 AM")

"2023-12-14 00:01:00 UTC"

"2023-12-14 00:01:00 UTC"

我希望输出为“2023-12-14 00:00:00 UTC”

r datetime character lubridate
1个回答
1
投票

它并没有消失。这就是默认打印值的方式。

ala <- lubridate::mdy_hms("12/14/23 12:00:00 AM")
ala
#> [1] "2023-12-14 UTC"

使用

format()
进行更改。并且计算(时间差)正常工作:

format(ala, "%Y-%m-%d %H:%M:%S")
#> [1] "2023-12-14 00:00:00"

ola <- lubridate::mdy_hms("12/14/23 01:00:00 PM")

ola - ala
#> Time difference of 13 hours

创建于 2024-03-15,使用 reprex v2.1.0

© www.soinside.com 2019 - 2024. All rights reserved.