这是我的代码:
import datetime
today = datetime.date.today()
print(today)
这张照片是:2008-11-22,这正是我想要的。
但是,我有一个列表,我要将其附加到列表中,然后突然一切都变得“不稳定”。代码如下:
import datetime
mylist = []
today = datetime.date.today()
mylist.append(today)
print(mylist)
这将打印以下内容:
[datetime.date(2008, 11, 22)]
我怎样才能得到像2008-11-22这样的简单约会?
我不完全理解,但可以使用panda以正确的格式获取时间:
>>> import pandas as pd
>>> pd.to_datetime('now')
Timestamp('2018-10-07 06:03:30')
>>> print(pd.to_datetime('now'))
2018-10-07 06:03:47
>>> pd.to_datetime('now').date()
datetime.date(2018, 10, 7)
>>> print(pd.to_datetime('now').date())
2018-10-07
>>>
And:
>>> l=[]
>>> l.append(pd.to_datetime('now').date())
>>> l
[datetime.date(2018, 10, 7)]
>>> map(str,l)
<map object at 0x0000005F67CCDF98>
>>> list(map(str,l))
['2018-10-07']
但它存储字符串,但易于转换:
>>> l=list(map(str,l))
>>> list(map(pd.to_datetime,l))
[Timestamp('2018-10-07 00:00:00')]
我的答案是一个简短的免责声明——我只学了大约2周的Python,所以我绝不是专家;因此,我的解释可能不是最好的,我可能使用了不正确的术语。不管怎样,这就是答案。
我在代码中注意到,当您声明变量today=datetime.date.today()时,您选择使用内置函数的名称来命名变量。
当您的下一行代码mylist.append(today)附加列表时,它附加了整个字符串datetime.date.today(),您之前将其设置为today变量的值,而不仅仅是附加today()。
一个简单的解决方案是更改变量的名称,尽管大多数程序员在使用datetime模块时可能不会使用它。
以下是我尝试的:
import datetime
mylist = []
present = datetime.date.today()
mylist.append(present)
print present
并打印yyyy-mm-dd。