首页 > 解决方案 > 日期转换和日期格式

问题描述

如何将 6/5/2017 12:00:00 AM -04:00 日期和时间转换为 R 中 24 小时的 mdy_hms?我试过了

as.POSIXct("6/5/2017 12:00:00 AM -04:00",format = "%m/%d/%Y %hh:%M:%S", tz = "UTC")

但它以 12 小时格式而不是 24 小时返回,我有价值 2 年数据的数据框,因此我需要能够将下午 2 点返回为 14 点,将凌晨 2 点返回为 2 点。

标签: r

解决方案


我认为您的格式化字符串是错误的。

?strptime 描述格式化字符串。下面的字符串未经测试 - 如果它不起作用,请检查 ?strptime 并更新它。

您的格式字符串当前对于日期字符串是正确的,但对于时间字符串,它意味着 24 小时数字并忽略 AM/PM。

编辑:实际字符串应该是:

as.POSIXct("6/5/2017 12:00:00 AM -0400",format = "%m/%d/%Y %I:%M:%S %p %z", tz = "UTC")

注意时区中不能有冒号,因此可能需要先进行字符串操作才能删除。


推荐阅读