2015-09-12 2 views
-1

Это может показаться очень наивным вопросом, но мне все еще интересно.Нормализация временных меток в разных форматах в общем формате

Поэтому у меня есть значения отметок времени в следующих форматах:

  1. Понедельник 17 сентября 2012 8:20:32 AM CDT
  2. Пт, 1 февраля 2013 12:55:59 GMT
  3. 2015-04-07 13:39:21
  4. Сб Май 11 15:58:57 +0000 2015

Теперь есть способ в Python для сравнения всех этих различных типов т ime и может быть как устроить их в порядке убывания/возрастания?

Я думал о чем-то вроде, может быть, нормализовать все эти метки времени на общую метку времени, а затем сравнить их. Будет ли это иметь смысл или это их более эффективный способ сделать это?

+2

http://pytz.sourceforge.net/ –

+1

и [dateutil] (https://dateutil.readthedocs.org/en/latest/) с использованием ** parser.parse ** для нечеткого разбора – Anzel

+0

Спасибо за указатели. Тем не менее, обе эти функции выглядят довольно обширными библиотеками. Учитывая, что я относительно новичок в этих библиотеках и сам python, я был бы очень признателен за пример того, как я могу использовать эти модули для достижения того, что требуется. – qre0ct

ответ

1

Комментарии уже ответили на ваш вопрос. Но просто отправьте пример, чтобы заставить вас решить эту проблему. parser.parse from dateutil используется для получения объектов datetime путем нечеткого разбора строк.

>>> import dateutil 
>>> from dateutil import parser 
>>> datestrs = ['Monday 17th of September 2012 08:20:32 AM CDT', 'Fri, 01 Feb 2013 12:55:59 GMT', '2015-04-07 13:39:21', 'Fri Sep 11 15:58:57 +0000 2015'] 
>>> datetime_objs = [] 
>>> for datestr in datestrs: 
... datetime_objs.append(parser.parse(datestr)) 
... 
>>> datetime_objs 
[datetime.datetime(2012, 9, 17, 8, 20, 32), datetime.datetime(2013, 2, 1, 12, 55, 59, tzinfo=tzutc()), datetime.datetime(2015, 4, 7, 13, 39, 21), datetime.datetime(2015, 9, 11, 15, 58, 57, tzinfo=tzutc())] 

У вас наконец есть массив объектов datetime. Вы можете продолжать выполнять другие операции, например, сравнивать с тем, как вы хотите.

+0

Спасибо за ответ. Это было действительно полезно – qre0ct

+0

Удовольствие мое :). Теперь, когда вы входите в это, проверьте библиотеку 'dateutil' и ее использование. –

+0

@ Барун уверенный вещь – qre0ct

Смежные вопросы