【发布时间】:2018-01-28 14:04:53
【问题描述】:
我确实创建了一个新的 datetime.date 类似对象
class WorkDate(datetime.date):
pass
WorkDate 的功能是(对这个问题不重要)当您添加 timedelta 对象时,它只会移动到工作日日期。即,当您在日期为WorkDate 的星期五添加timedelta(1) 时,它将返回日期为WorkDate 的下一个星期一。
我如何
__init__ WorkDate 通过这两种方法中的任何一种来创建相同的结果
x = WorkDate(2017, 8, 3)
y = WorkDate(datetime.date(2017, 8, 3))
我确实尝试过,但不适用于使用日期对象进行初始化
class WorkDate(datetime.date):
def __init__(self, *args):
if len(args) == 3:
super(WorkDate, self).__init__(args[0], args[1], args[2])
elif len(args) == 1:
self.year = args[0].year
self.month = args[0].month
self.day = args[0].day
【问题讨论】:
-
如果骗子对您没有帮助,请告诉我们如何以及为什么。
-
@cᴏʟᴅsᴘᴇᴇᴅ 无法理解为什么我无法在代码中使用日期对象进行初始化。当我尝试使用日期对象构造时,它说 需要一个整数
标签: python python-2.7