我需要一些关于日期时间的帮助
下面是我的代码:import datetime
x = int(input()).datetime.datetime()
print(x.strftime("%B, %d, %Y"))
我的自定义输入:12 25 1990
,但我总是得到一个错误ValueError: invalid literal for int() with base 10: '12 25 1990'
我只希望输出是"1990年12月25日有人能帮忙吗?谢谢;;
按照@Barmar的建议,使用datetime.strptime:
import datetime
x = datetime.datetime.strptime(input(), '%m %d %Y')
print(x.strftime("%B %d, %Y"))
输出(用于输入12 25 1990
)
December 25, 1990
您有两种选择,要么通过分割输入和准备日期,月份等来准备datetime
对象:
import datetime
date_entry = '12 25 1990'
month, day, year = map(int, date_entry.split())
x = datetime.date(year, month, day)
print(x.strftime("%B, %d, %Y"))
或者简单地使用strptime
从输入格式创建日期:
date_entry = '12 25 1990'
res = datetime.datetime.strptime(date_entry, '%m %d %Y')
print(res.strftime("%B, %d, %Y"))