我有一個數據集與字符格式的時間。我試圖從12小時格式轉換爲24格式。我已經完成了一些搜索,但是我發現的所有內容似乎都假設這些字符已經是24小時格式。這是我正在與之合作的一個例子。轉換12小時字符時間到24小時
times <- c("9:06 AM", "4:42 PM", "3:05 PM", "12:00 PM", "3:38 AM")
我有一個數據集與字符格式的時間。我試圖從12小時格式轉換爲24格式。我已經完成了一些搜索,但是我發現的所有內容似乎都假設這些字符已經是24小時格式。這是我正在與之合作的一個例子。轉換12小時字符時間到24小時
times <- c("9:06 AM", "4:42 PM", "3:05 PM", "12:00 PM", "3:38 AM")
這應該工作:
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 - 您鍵入的速度比我做的。轉到主題入門 - 請參閱CDT和EDT是如何根據您的時區自動填充的 - 這可能是在一天之內的一小時內轉換時間內潛在的問題
我使用2個手指(我來乾淨),但我克服了,因爲我有我的.Rprofile函數來註釋(哈希)和縮進4空格,添加代碼時節省時間。所以我作弊更好,不打字速度更快:-) –
你對CDT/EDT/PDT等等有什麼看法? –
感謝RE時區的警告! –
這太棒了,謝謝!我在搜索時找到了strptime,但無法弄清楚如何排除日期,因爲我已經在另一個變量中進行了排除。 _hat tip_ –