如何在Python中以常规格式打印日期?


Answers

import datetime
print datetime.datetime.now().strftime("%Y-%m-%d %H:%M")

编辑:

Cees建议后,我开始使用时间:

import time
print time.strftime("%Y-%m-%d %H:%M")
Question

这是我的代码:

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”这样简单的日期?




您需要将日期时间对象转换为字符串。

以下代码适用于我:

import datetime
collection = []
dateTimeString = str(datetime.date.today())
collection.append(dateTimeString)
print collection

让我知道你是否需要任何帮助。




你可以使用easy_dateeasy_date它:

import date_converter
my_date = date_converter.date_to_string(today, '%Y-%m-%d')



以下是如何将日期显示为(年/月/日):

from datetime import datetime
now = datetime.now()

print '%s/%s/%s' % (now.year, now.month, now.day)



简单的答案 -

datetime.date.today().isoformat()



你可以做:

mylist.append(str(today))



我讨厌为了方便导入太多模块的想法。 我宁愿使用可用的模块,在这种情况下是datetime而不是调用新的模块time

>>> a = datetime.datetime(2015, 04, 01, 11, 23, 22)
>>> a.strftime('%Y-%m-%d %H:%M')
'2015-04-01 11:23'



使用date.strftime。 文档描述了格式参数。

这一个是你想要的:

some_date.strftime('%Y-%m-%d')

这一个考虑到了区域设置。 (做这个)

some_date.strftime('%c')



甚至

from datetime import datetime, date

"{:%d.%m.%Y}".format(datetime.now())

Out:'25 .12.2013

要么

"{} - {:%d.%m.%Y}".format("Today", datetime.now())

Out:'Today - 25.12.2013'

"{:%A}".format(date.today())

Out:'星期三'

'{}__{:%Y.%m.%d__%H-%M}.log'.format(__name__, datetime.now())

出:'__main ____ 2014.06.09__16-56.log'




Links