python datetime打印vs追加到列表显示不同的结果

时间:2019-02-27 19:49:52

标签: python datetime

我对为什么得到不同结果感到困惑。我想以这种格式生成列表或日期2019-01-01T00:00:00:

start_date ='2019-01-01T00:00:00'
end_date ='2019-01-31T23:59:59'
start_date_object = datetime.strptime(start_date, '%Y-%m-%dT%H:%M:%S')
end_date_object = datetime.strptime(end_date, '%Y-%m-%dT%H:%M:%S')

start_date_list=[]
print start_date_object
start_date_list.append(start_date_object)
print start_date_list

但这是结果:

打印语句:

2019-01-01 00:00:00

打印列表:

[datetime.datetime(2019, 1, 1, 0, 0)]

2 个答案:

答案 0 :(得分:1)

打印单个datetime对象时,将使用其str。当对象是列表的一部分时,其repr方法用于表示它。比较:

from datetime import datetime

start_date ='2019-01-01T00:00:00'
start_date_object = datetime.strptime(start_date, '%Y-%m-%dT%H:%M:%S')

print(str(start_date_object))
# 2019-01-01 00:00:00

print(repr(start_date_object))
# datetime.datetime(2019, 1, 1, 0, 0)

答案 1 :(得分:0)

使用str(datetime_object),然后下载Python3:)

from datetime import datetime

start_date =' 2019-01-01T00:00:00'
end_date = '2019-01-31T23:59:59'
start_date_object = datetime.strptime(start_date, '%Y-%m-%dT%H:%M:%S')
end_date_object = datetime.strptime(end_date, '%Y-%m-%dT%H:%M:%S')

start_date_list = []
print start_date_object
start_date_list.append(str(start_date_object))
print start_date_list