如何在R中将12小时转换为24小时

时间:2019-05-22 08:12:41

标签: r

我成功地将时间从2018-12-31 11:45:00分别调整为2018-12-31和11:45:00 aAM。

但是,我很难将“ 11:45:00 AM”转换为24小时。

我知道有几种方法可以做到这一点,例如,最流行的方法是使用strptime并放入format="%I:%M:%S %p。我做了几次,并一遍又一遍地进行了双重检查……但是在我的专栏里仍然不适用。这里是CrimeData是我的数据集名称,toSplitHrs包含的时间是“ 11:45:00 AM”,就像上面提到的一样:

crimeData$toSplitHrs = strptime(crimeData$SplitHrs, format="%I:%M:%S %p")
Police.Beats    SplitMs SplitHrs year month days hours mins sec toSplitHrs
1           28 2018-12-31 11:45:00 2018    12   31    11   45  00       <NA>
2          177 2018-12-31 11:42:00 2018    12   31    11   42  00       <NA>
3          233 2018-12-31 11:30:00 2018    12   31    11   30  00       <NA>
4           91 2018-12-31 11:30:00 2018    12   31    11   30  00       <NA>
5           73 2018-12-31 11:30:00 2018    12   31    11   30  00       <NA>
6          232 2018-12-31 11:27:00 2018    12   31    11   27  00       <NA>

但仍然,我从中得到了N / A结果... 另外,该数据集包含超过1万个观察值,我真的无法一一更改它们……任何建议,不胜感激!

1 个答案:

答案 0 :(得分:2)

您可以暂时尝试使用格式%r,但要考虑am / pm规范(请参阅?strptime):

strptime("2018-12-31 11:45:00 am", format="%F %r")
#[1] "2018-12-31 11:45:00 CET"
strptime("2018-12-31 11:45:00 pm", format="%F %r")
#[1] "2018-12-31 23:45:00 CET"