我怎样才能24小时时间换算成12小时的时间?(How can I convert 24 hour t

2019-07-05 03:30发布

我有以下的24小时时间:

{'Wed': '10:30 - 21:00', 'Sun': '10:30 - 21:00', 'Thu': '10:30 - 21:00', 
 'Mon': '10:30 - 21:00', 'Fri': '10:30 - 22:00', 'Tue': '10:30 - 21:00', 
 'Sat': '10:30 - 22:00'}

我怎样才能将它转换为12小时的时间?

{'Wed': '10:30 AM - 09:00 PM', 'Sun': '10:30 AM - 09:00 PM', 
 'Thu': '10:30 AM - 09:00 PM', 'Mon': '10:30 AM - 09:00 PM', 
 'Fri': '10:30 AM- 10:00 PM', 'Tue': '10:30 AM- 09:00 PM', 
 'Sat': '10:30 AM - 11:00 PM'}

我想智能转换"10.30""10.30 AM""22:30""10:30 PM" 。 我能做到用自己的逻辑,但有什么办法可以不聪明做到这一点if ... elif

Answer 1:

>>> from datetime import datetime
>>> d = datetime.strptime("10:30", "%H:%M")
>>> d.strftime("%I:%M %p")
'10:30 AM'
>>> d = datetime.strptime("22:30", "%H:%M")
>>> d.strftime("%I:%M %p")
'10:30 PM'


Answer 2:

这段代码的关键是使用的库函数time.strptime()到24小时字符串表示解析为time.struct_time对象,然后使用库函数time.strftime()以这种格式struct_time成你想要的字符串12小时格式。

我假设你有任何麻烦写一个循环,通过在字典中的值进行迭代,并打破串分成两个子与每一个时间值。

对于每个子串,转换的时间价值与类似的代码:

import time
t = time.strptime(timevalue_24hour, "%H:%M")
timevalue_12hour = time.strftime( "%I:%M %p", t )

现在的问题, 将字符串转换日期时间 ,也有很多实用的答案。



Answer 3:

Python中的strftime使用%I

参考http://strftime.org/



文章来源: How can I convert 24 hour time to 12 hour time?