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

时间:2018-12-19 12:34:24

标签: python datetime time strftime

我一直在尝试将'strftime()'与'%j'一起使用以获取当年的当日数字(0-365):

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

print (daynum)

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

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

3 个答案:

答案 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日)。