Python 3:如何删除时间?我只想要天数

时间:2018-03-20 13:09:07

标签: python

现在我有这个代码。我打算编写代码来计算今天和今年1月1日之间的天数。

正如您在下面的输出中所看到的,它会打印天数和时间。

如何重写代码,以便它只是“78”,而不是“78天,21:04:08.256440'?

from datetime import datetime
Now = datetime.now()
StartDate = datetime.strptime(str(Now.year) +'-01-01', '%Y-%m-%d')
NumberOfDays = (Now - StartDate)

print(NumberOfDays)


#Output: 78 days, 21:04:08.256440

2 个答案:

答案 0 :(得分:1)

这是一个有效的Fiddle

正如jpp对您的问题发表评论,您必须使用print(NumberOfDays.days)。 但要小心,在你的解决方案中,它返回78(在 20/03/2018 ),但这是第79天(从1开始)。

另一种更简单的方法是:print(datetime.now().timetuple().tm_yday)

另一种更简单的方法:print(Now.strftime('%j'))

from datetime import datetime

Now = datetime.now()
StartDate = datetime.strptime(str(Now.year) +'-01-01', '%Y-%m-%d')
NumberOfDays = (Now - StartDate)

print(NumberOfDays.days)                     # 78
print(datetime.now().timetuple().tm_yday)    # 79
print(Now.strftime('%j'))                    # 079

答案 1 :(得分:0)

import datetime
today = datetime.date.today()
first_day = datetime.date(year=today.year, month=1, day=1)
diff = today - first_day
print(diff)

78 days, 0:00:00