构造datetime对象时出现问题?

2024-09-30 08:33:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个与当前日期具有相同年和月的对象,但将日期改为月份中的不同日期。你知道吗

from datetime import timedelta, date, datetime


whole = date.today()
wholestr= str(whole)
vali = wholestr.split('-')
year=int(vali[0])
month=int(vali[1])
day=int(vali[2])
sub = datetime.date(year,month,16)
print sub

这里它说int在构造时工作,但是我得到一个错误,它需要一个datetime.date日期对象而不是内部。你知道吗

http://docs.python.org/library/datetime.html#date-objects


Tags: 对象fromimporttodaydatetimedateyeartimedelta
2条回答

我相信你的问题是,当你只想在倒数第二行中调用datetime.date时,你就调用了date。更改为仅使用date得到以下结果:

>>> from datetime import timedelta, date, datetime
>>> whole = date.today()
>>> wholestr = str(whole)
>>> vali = wholestr.split('-')
>>> year = int(vali[0])
>>> month = int(vali[1])
>>> day = int(vali[2])
>>> sub = date(year, month, 16)
>>> sub
datetime.date(2012, 4, 16)
>>> print sub
2012-04-16

或者您可以这样调用datetime

>>> datetime(year, month, 16)
datetime.datetime(2012, 4, 16, 0, 0)

就我个人而言,这就是为什么我总是喜欢做import datetime。你知道吗

你的问题很简单:

from datetime import [some items including] datetime

导入完成后,datetime指的是以前称为datetime.datetime,而datetime.date指的是以前称为datetime.datetime.date。你知道吗

您可以使用date(因为您导入了它,现在它指的是本应是datetime.date的内容),也可以只使用import datetime并限定所有名称,例如whole = datetime.date.today()等等。我自己更喜欢后者,因为否则很容易迷路,但这是个人喜好。你知道吗

相关问题 更多 >

    热门问题