将24小时日期/时间转换为12小时格式,反之亦然

时间:2016-04-28 11:45:21

标签: python datetime

date的格式为%Y-%m-%d %H:%M:%S [这是24小时]。我想在12小时内将此日期转换为这样的日期 - > %Y-%m-%d %H:%M:%S %pvice-versa。 我怎么能实现这个?感谢名单!

2 个答案:

答案 0 :(得分:2)

通过strptime()将字符串加载到日期时间对象中,然后通过strftime()以所需格式转储:

>>> from datetime import datetime
>>> d = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
>>> d  # d is a string
'2016-04-28 07:46:32'
>>> datetime.strptime(d, "%Y-%m-%d %H:%M:%S").strftime("%Y-%m-%d %I:%M:%S %p")
'2016-04-28 07:46:32 AM'

请注意,%I此处为12-hour clock

答案 1 :(得分:1)

24小时至12小时

>>> from datetime import datetime
>>> datetime.strptime('2016-05-25 13:45:56', '%Y-%m-%d %H:%M:%S')
datetime.datetime(2016, 5, 25, 13, 45, 56)
>>> dt=datetime.strptime('2016-05-25 13:45:56', '%Y-%m-%d %H:%M:%S')
>>> dt.strftime('%Y-%m-%d %I:%M:%S %p')
'2016-05-25 01:45:56 PM'
>>> 

12小时到24小时

>>> dt=datetime.strptime('2016-05-25 01:45:56 PM', '%Y-%m-%d %I:%M:%S %p')
>>> dt
datetime.datetime(2016, 5, 25, 13, 45, 56)
>>> dt.strftime('%Y-%m-%d %H:%M:%S')
'2016-05-25 13:45:56'
>>>