我如何在 python 中转换当前时间的格式

how do i convert format of current time in python

我一直在尝试使用 'strftime()' 和 '%j' 来获取当前日期的年份数 (0-365):

daynow = ("%d"% (datetime.day))
daynum =  (time.strftime("%j", time.gmtime(daynow)))

print (daynum)

但是returns: 发生异常:TypeError %d 格式:需要一个数字,而不是 getset_descriptor

这是什么意思,什么是 getset_descriptor,我该如何解决这个问题?

%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

尝试使用以下代码获取月中的第几天、一年中的第几天和一年中的第几周:

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]

这应该可以满足您的要求。有了它,我们通过减去两个格式正确的日期,得到一年的第一天和今天之间的天数。

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(因为今天是 12/19/2018)。