将当前日期输入特定格式的列表时出现问题

时间:2018-06-21 17:48:47

标签: python python-3.x

如何将当前日期放入所需格式的列表中?

import datetime
today = datetime.date.today()
lst=[]
lst.append(today)

lst[0]
>>> datetime.date(2018, 6, 22)
print(lst[0]) #found this code on another post (I have no idea how it works)
>>> 2018-06-22

我正在尝试将print(lst [0])的输出“ 2018-06-22”添加到我的列表中,但我只能获取“ datetime.date(2018,6,22)”。预先感谢!

更新:

lst.append(str(today))

使用此代码可以获得相同的结果,我也不知道它是如何工作的。

3 个答案:

答案 0 :(得分:1)

我将使用strftime()模块中内置的datetime函数。要在上面的代码中执行此操作,只需更改以下内容即可:

import datetime
today = datetime.date.today()
lst=[]
lst.append(today.strftime('%Y-%m-%d'))
lst[0]

有关更多信息,请查看文档:{​​{3}}

答案 1 :(得分:0)

print正在创建对象的字符串版本。尝试自己铸造:

str(lst[0])
>>> '2018-06-21'

https://docs.python.org/3/library/functions.html#print https://docs.python.org/3/library/stdtypes.html#str

答案 2 :(得分:0)

问题在于在Python中,所有日期或对象。本质上,当您引用它时,就是在引用对象的实例。如果要获取值(实际日期),则需要执行其他人建议的操作并将其转换为String,将其从实际日期对象更改为可用的对象。例如,尝试:

x = str(lst[0])
x -> "2018-06-21"

我知道以下内容实际上并不能直接回答您的问题,但是如果您想了解更多有关日期时间的信息,它确实提供了一些很好的信息。我认为这是您从中获取代码的地方,因此只需再次浏览即可。

How to print date in a regular format in Python?