จำสิ่งนี้ไว้และคุณไม่จำเป็นต้องสับสนในการแปลงวันที่และเวลาอีกครั้ง
สตริงไปยังวัตถุวันที่และเวลา = strptime
วัตถุวันที่และเวลาในรูปแบบอื่น ๆ = strftime
Jun 1 2005  1:33PM
เท่ากับ
%b %d %Y %I:%M%p
  % b เดือนเป็นชื่อย่อของสถานที่ (มิถุนายน)
  
  % d วันของเดือนในรูปของเลขทศนิยมที่ไม่มีศูนย์ (1)
  
  % Y ปีที่มีศตวรรษเป็นตัวเลขทศนิยม (2015)
  
  % I ชั่วโมง (นาฬิกา 12 ชั่วโมง) ในรูปแบบเลขฐานสิบศูนย์ (01)
  
  % M นาทีเป็นตัวเลขทศนิยมที่ไม่มีซับใน (33)
  
  % p สถานที่เกิดเหตุเทียบเท่ากับ AM หรือ PM (PM)
ดังนั้นคุณต้องมี strptime เช่นการแปลงstringเป็น
>>> dates = []
>>> dates.append('Jun 1 2005  1:33PM')
>>> dates.append('Aug 28 1999 12:00AM')
>>> from datetime import datetime
>>> for d in dates:
...     date = datetime.strptime(d, '%b %d %Y %I:%M%p')
...     print type(date)
...     print date
... 
เอาท์พุต
<type 'datetime.datetime'>
2005-06-01 13:33:00
<type 'datetime.datetime'>
1999-08-28 00:00:00
ถ้าคุณมีรูปแบบวันที่ที่แตกต่างกันคุณสามารถใช้แพนด้าหรือ dateutil.parse
>>> import dateutil
>>> dates = []
>>> dates.append('12 1 2017')
>>> dates.append('1 1 2017')
>>> dates.append('1 12 2017')
>>> dates.append('June 1 2017 1:30:00AM')
>>> [parser.parse(x) for x in dates]
เอาท์พุต
[datetime.datetime(2017, 12, 1, 0, 0), datetime.datetime(2017, 1, 1, 0, 0), datetime.datetime(2017, 1, 12, 0, 0), datetime.datetime(2017, 6, 1, 1, 30)]
               
              
strptime()จะขับถั่วให้คุณเว้นเสียแต่ว่าคุณจะหุ้มมัน ดูคำตอบของฉันตามคำตอบของ