0

I'm confused on why I'm getting different results. I would like to generate a list or dates in this format 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

But here are the results:

Print statement:

2019-01-01 00:00:00

Print list:

[datetime.datetime(2019, 1, 1, 0, 0)]
chowpay
  • 1,515
  • 6
  • 22
  • 44

2 Answers2

1

When printing a single datetime object, its str is used. When an object is part of a list, its repr method is used to represent it. Compare:

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)
Thierry Lathuille
  • 23,663
  • 10
  • 44
  • 50
0

Use str(datetime_object), and download 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
Non
  • 1
  • 2