现在我有这个代码。我打算编写代码来计算今天和今年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
答案 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