簡體   English   中英

將帶有 AM/PM 的 12 小時時間字符串轉換為 24 小時時間

[英]Converting a 12 hour time string with AM/PM to 24 hour time

我在我的數據庫中為每個對象保存了一堆基於時間的字符串,格式如下:

"01:00 PM"

做了一點研究,我發現了一篇文章,向您展示了如何轉換類似於但不完全是我的字符串的字符串。 不同之處在於該示例在小時和分鍾整數之間沒有冒號,這在答案的轉換中引發了障礙:

Time.strptime("1:00 PM", "%I%P").strftime("%H:%M")
# ArgumentError (invalid strptime format - `%I%P')

鑒於我的特定格式,還有沒有辦法讓這種轉換工作?

你試過這個嗎? time = "12:00 PM"

Time.strptime(time, "%I:%M %P").strftime("%H:%M")

您必須在 strptime 方法中傳遞時間格式,因此您必須傳遞'%I:%M %P' ,如果您不想及時使用分號,則必須在 strftime 方法中根據它傳遞值作為'%H%M'所以你會根據你的要求得到你的答案。

Time.strptime('10:00 PM', '%I:%M %P').strftime("%H%M")這會給你輸出"2200"

Time.strptime('10:00 PM', '%I:%M %P').strftime("%H:%M")這會給你輸出"22:00"

謝謝你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM