Ric*_*ish 1 python time datetime python-3.x
我该如何处理这个过程?假设有人输入"3:5",我应该能够得到输出"3:05 AM".或者,如果有人输入"00:00",我应该得到"12:00 AM".如果时间格式只是输入为"hhmm",我会意识到过多的方法,但输入的范围可以是"h:m","hh:m","hh:m"和"hh:毫米".所以它非常具有情境性.
def timeConvert():
miliTime = int(input("Enter a time in hh:mm (military) format: "))
miliTime.split(":")
if len(miliTime) == 3:
hours = miliTime[0]
minutes = miliTime[2]
if hours < 0:
print("Hours can't be less than 0.")
elif len(miliTime) == 4:
if miliTime[0:2] >= 10:
hours = militime[0:2]
minutes = militime[3]
if minutes < 0:
print("Minutes can't be less than 0.")
if minutes < 10:
minutes = 0 + minutes
else:
hours = miliTime[0]
minutes = militime[2:]
if minutes >= 60:
print("Too big of a number for minutes.")
else:
hours = miliTime[0:2]
minutes = miliTime[3:]
setting = AM
if hours > 12:
setting = PM
hours -= 12
print(hours + ":" + minutes + setting)
timeConvert()
Run Code Online (Sandbox Code Playgroud)
使用datetime模块strptime()将字符串作为日期时间对象读取,然后将其转换回字符串strftime(),例如 -
>>> datetime.datetime.strptime('3:5','%H:%M').strftime('%I:%M %p')
'03:05 AM'
>>> datetime.datetime.strptime('18:30','%H:%M').strftime('%I:%M %p')
'06:30 PM'
>>> datetime.datetime.strptime('00:00','%H:%M').strftime('%I:%M %p')
'12:00 AM'
Run Code Online (Sandbox Code Playgroud)
格式说明 -
%H - 小时(24小时fomrat)
%M - 分钟
%I - 小时(12小时格式)
%p - AM或PM
功能看起来像 -
def timeConvert():
import datetime
ds = input("Enter a time in hh:mm (military) format: ")
newds = datetime.datetime.strptime(ds, ,'%H:%M').strftime('%I:%M %p')
print(newds)
Run Code Online (Sandbox Code Playgroud)
按 分割输入:,并最后使用格式化输出:
def timeConvert():
miliTime = input("Enter a time in hh:mm (military) format: ")
hours, minutes = miliTime.split(":")
hours, minutes = int(hours), int(minutes)
setting = "AM"
if hours > 12:
setting = "PM"
hours -= 12
print(("%02d:%02d" + setting) % (hours, minutes))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11025 次 |
| 最近记录: |