我一直在尝试将'strftime()'与'%j'一起使用以获取当年的当日数字(0-365):
daynow = ("%d"% (datetime.day))
daynum = (time.strftime("%j", time.gmtime(daynow)))
print (daynum)
但返回: 发生异常:TypeError %d格式:需要数字,而不是getset_descriptor
这是什么意思,什么是getset_descriptor,我该如何解决?
答案 0 :(得分:1)
%d
正在寻找电话号码。但是datetime.datetime.day
正在馈入物体
Out[18]: <attribute 'day' of 'datetime.date' objects>
获取今天的日期。然后使用它来做.day
import datetime
import time
today = datetime.datetime.now()
daynum = ("%d"% (today.day))
print (daynum)
将给出输出19
答案 1 :(得分:0)
请尝试以下代码以获取每月的某天,每年的某天和每年的某周:
from datetime import datetime,date
today = datetime.now()
day_of_the_month = ("%d"% (today.day))
day_of_year = today.timetuple().tm_yday
week_of_the_year = today.isocalendar()[1]
答案 2 :(得分:0)
这应该做您想要的。通过减去两个格式正确的日期,我们可以得出一年中第一天到今天之间的天数。
import datetime
from datetime import date
day = datetime.datetime.now().day
month = datetime.datetime.now().month
year = datetime.datetime.now().year
f_date = date(year, 1, 1)
l_date = date(year, month, day)
delta = l_date - f_date
print(delta.days)
这将输出352
(因为今天是2018年12月19日)。