【发布时间】:2015-04-23 20:19:48
【问题描述】:
我有一个字符格式的时间数据集。我试图将其从 12 小时格式转换为 24 小时格式。我进行了一些搜索,但我发现的所有内容似乎都假设字符已经采用 24 小时格式。这是我正在使用的时代的一个例子。
times <- c("9:06 AM", "4:42 PM", "3:05 PM", "12:00 PM", "3:38 AM")
【问题讨论】:
标签: r
我有一个字符格式的时间数据集。我试图将其从 12 小时格式转换为 24 小时格式。我进行了一些搜索,但我发现的所有内容似乎都假设字符已经采用 24 小时格式。这是我正在使用的时代的一个例子。
times <- c("9:06 AM", "4:42 PM", "3:05 PM", "12:00 PM", "3:38 AM")
【问题讨论】:
标签: r
这应该可行:
times <- c("9:06 AM", "4:42 PM", "3:05 PM", "12:00 PM", "3:38 AM")
strptime(times, "%I:%M %p")
## [1] "2015-04-23 09:06:00 EDT" "2015-04-23 16:42:00 EDT"
## [3] "2015-04-23 15:05:00 EDT" "2015-04-23 12:00:00 EDT"
## [5] "2015-04-23 03:38:00 EDT"
如果你只想要时间:
format(strptime(times, "%I:%M %p"), format="%H:%M:%S")
## [1] "09:06:00" "16:42:00" "15:05:00" "12:00:00" "03:38:00"
【讨论】:
times <- c("9:06 AM", "4:42 PM", "3:05 PM", "12:00 PM", "3:38 AM")
print(as.POSIXct(times, format='%I:%M %p'))
[1] "2015-04-23 09:06:00 CDT" "2015-04-23 16:42:00 CDT" "2015-04-23 15:05:00 CDT" "2015-04-23 12:00:00 CDT"
[5] "2015-04-23 03:38:00 CDT"
@Tyler - 你打字比我快。 To Topic Starter - 请查看 CDT 和 EDT 是如何根据您的时区自动填充的 - 在一天内 1 小时内转换时间时,这可能是一个问题
【讨论】: