Как конвертировать дату (разные форматы) в формат эпохи за один раз

#python #datetime

#python #дата-время

Вопрос:

У меня есть даты разных форматов, я просто хочу преобразовать их все в формат эпохи за раз.

Форматы дат похожи на любой из приведенных ниже форматов :

 1. "October 1, 2018"
2. "23/05/2018"
3. "20-02-2017"
4. "May 2016"
  

Ответ №1:

Рекомендую пакет python-dateutil python-dateutil

pip install python-dateutil

 s1 = "October 1, 2018"
s2 = "23/05/2018"
s3 = "20-02-2017"
s4 = "May 2016"

from dateutil import parser
r1 = parser.parse(s1)
r2 = parser.parse(s2)
r3 = parser.parse(s3)
r4 = parser.parse(s4) # parser.parse(s4).timestamp() you can get timestamp this way
print(r1, r2, r3, r4)

# 2018-10-01 00:00:00
# 2018-05-23 00:00:00
# 2017-02-20 00:00:00
# 2016-05-04 00:00:00



  

Комментарии:

1. Tanq @jia jimmy ваше решение дало мне одинаковый формат для всех дат, затем я использовал time.mktime(r3.timetuple()) и у меня это сработало

2. @himabindu рад, что это помогло, и если вы просто хотите получить временную метку, которую вы можете напрямую использовать r3.timestamp() для r3 того datetime , что теперь является объектом.

Ответ №2:

Вы это имели в виду? Это стандартный способ преобразования строковой даты в дату-время эпохи

 from datetime import datetime
dt = datetime.strptime('October 1 2018', '%b %d %Y')
print (dt)