Парсинг даты и времени представляет в виде строки с микросекундами

Создается временная структура, инициализированная из значения литерала, и она длится до тех пор, пока ссылка. Вы можете делать то, что вам нравится с этим объектом.

Что касается времени жизни, это точно так же, как если бы вы написали const int& x = 5; только, там, тот факт, что вы работаете с автоматически созданным временным объектом, замаскирован, потому что const не позволяет вам доказать его с помощью мутации.

[C++14: 8.5.3/5]: [..] Если T1 является неклассовым типом, временный тип « cv1 T1» создается и инициализируется с копией (8.5) из выражения инициализатора. Ссылка затем привязана к временному. [..]

14
задан Manuel Ceron 10 February 2009 в 05:35
поделиться

4 ответа

Кроме того:

from datetime import datetime

def str2datetime(s):
    parts = s.split('.')
    dt = datetime.strptime(parts[0], "%Y-%m-%d %H:%M:%S")
    return dt.replace(microsecond=int(parts[1]))

Используя strptime самостоятельно для парсинга даты/строки времени (так никакая потребность продумать угловые случаи для regex).

21
ответ дан 1 December 2019 в 07:06
поделиться

Используйте dateutil модуль. Это поддерживает намного более широкий диапазон форматов даты и времени, чем созданный в Python.

Вам будет нужно к easy_install dateutil для следующего кода для работы:

from dateutil.parser import parser

p = parser()
datetime_with_microseconds = p.parse('2009-02-10 16:06:52.598800')
print datetime_with_microseconds.microsecond

результаты в:

598799
11
ответ дан 1 December 2019 в 07:06
поделиться

Кто-то уже зарегистрировал ошибку с этой проблемой: Выпуск 1982 . Так как Вам нужно это для работы с python 2.5, необходимо проанализировать значение вручную и затем управлять объектом даты и времени.

5
ответ дан 1 December 2019 в 07:06
поделиться

Это не могло бы быть лучшее решение, но можно использовать регулярное выражение:

m = re.match(r'(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})(?:\.(\d{6}))?', datestr)
dt = datetime.datetime(*[int(x) for x in m.groups() if x])
2
ответ дан 1 December 2019 в 07:06
поделиться
Другие вопросы по тегам:

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