дата и время Python strptime подстановочный знак

Единственный язык, о котором я могу думать для попытки такого изменения по транспортировке нефти и газа, был бы Perl. Конечно, Python бьет Perl к той конкретной финишной черте путем выпуска сначала. Нужно отметить, однако, что изменения Perl намного более обширны, чем Python и вероятно будут более трудными к detangle.

(существует цена за Perl "существует больше чем Один Способ Сделать Это" философия.)

существуют примеры как изменения от версии до версии основанных на.NET языков (нелепый, полагая, что смыслом.NET, как предполагалось, была устойчивость API и межплатформенная совместимость). Однако я едва назвал бы те языки "зрелыми"; это всегда было больше design-on-the-go, build-the-plane-as-we-fly подход к вещам.

Или, поскольку я склонен думать о нем, большинство языков прибывает или из "органического роста" или из "спроектированной конструкции". Perl является идеальным примером органического роста; это запустилось как необычное крыло инструмента обработки текста awk/sed и превратилось в полный язык.

Python, с другой стороны, намного более спроектирован. Проведите немного времени, блуждая вокруг обширных технических описаний на их веб-сайте для наблюдения обширных дебатов, которые входят в каждое ровное незначительное изменение к синтаксису и реализации языка.

идея сделать эти виды далеко идущих изменений несколько в новинку для языков программирования, потому что сами языки программирования изменились по своей природе. Это раньше было, что методологии программирования изменились только, когда новый процессор вышел, который имел новую систему команд. Ранние языки склонялись к любому быть таким образом низкий уровень и соединены с ассемблером (например, C) или столь совершенно динамичный по своей природе (Forth, Lisp), что такое изменение по транспортировке нефти и газа даже не подошло бы как соображение.

относительно того, являются ли изменения хорошими, я не уверен. Я склонен иметь веру в людей разработка направляющего Python, однако; изменения на языке к настоящему времени были в основном к лучшему.

я думаю в дни для прибытия, Глобальная Блокировка Интерпретатора окажется более центральной, чем изменения синтаксиса. Хотя новая многопроцессорная библиотека могла бы облегчить большую часть из этого.

17
задан hoju 10 December 2009 в 12:32
поделиться

3 ответа

Попробуйте использовать модуль dateutil.parser.

import dateutil.parser
date1 = dateutil.parser.parse("December 12th, 2008")
date2 = dateutil.parser.parse("January 1st, 2009")

Дополнительную документацию можно найти здесь: http://labix.org/python-dateutil

18
ответ дан 30 November 2019 в 11:52
поделиться

Вам понадобится python_dateutil Густаво Нимейера - после его установки

>>> from dateutil import parser
>>> parser.parse('December 12th, 2008')
datetime.datetime(2008, 12, 12, 0, 0)
>>> parser.parse('January 1st, 2009')
datetime.datetime(2009, 1, 1, 0, 0)
>>> 
9
ответ дан 30 November 2019 в 11:52
поделиться

strptime сложен, потому что он полагается на базовую библиотеку C для своей реализации, поэтому некоторые детали различаются между платформами. Кажется, нет способа подобрать нужных персонажей. Но сначала вы можете очистить данные:

# Remove ordinal suffixes from numbers.
date_in = re.sub(r"(st|nd|rd|th),", ",", date_in)
# Parse the pure date.
date = datetime.strptime(date_in, "%B %d, %Y")
8
ответ дан 30 November 2019 в 11:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: