我成功地将时间从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万个观察值,我真的无法一一更改它们……任何建议,不胜感激!
答案 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"