strftime(“%A”)输出为字符串。但是赋值变量是期待Int

时间:2017-12-01 02:49:21

标签: python

我将日期转换为月中的某天。 当我执行时,我收到以下错误。

  File ".\date.py", line 8, in <module>
    ans=datetime.date(year,month,date)
TypeError: an integer is required (got type str)

我不明白这个错误。返回类型是预期的Str。 我没有声明为int。 我正在使用Python3,而不是为什么它抱怨datetype。

1 个答案:

答案 0 :(得分:0)

有两个问题。

首先,要获取当月的某一天,您应使用%d,而不是%A使用strftime()

date = time.strftime("%d");

其次,这将以字符串形式返回日期,而不是整数,但datetime.date()要求其参数为整数,因此您需要将其转换为int(date)

date = int(time.strftime("%d"))

但首先确实没有必要使用strftime()。如果您有date个对象,则只需访问其day属性即可获取该月的日期。