2012-04-21 2 views
21
import time 
t = time.ctime() 

Для меня на данный момент t является 'Sat Apr 21 11:58:02 2012'. У меня больше таких данных.Как преобразовать `ctime` в` datetime` в Python?

Мой вопрос:

  • Как конвертировать t в datetime в Python? Есть ли для этого модули?

Я пытался сделать время dict, а затем преобразовать t, но чувствую, что это не самый лучший способ сделать это в Python.

Детали:

  • У меня есть ctime список (например, ['Sat Apr 21 11:56:48 2012', 'Sat Apr 21 11:56:48 2012']).
  • Я хочу, чтобы преобразовать содержимое в datetime, а затем сохранить это в db с timestamp.
+2

Почему бы просто не сделать 'от импорта даты и времени datetime'' DateTime.Now() ' – jamylak

+0

точно, У меня есть строка: «Sat Apr 21 11:58:02 2012», и я хочу преобразовать ее в datetime. – flreey

+0

Преобразование из таких строк не является идеальным, но этот вопрос получает ответ. –

ответ

24

Вы должны использовать strptime: эта функция разбирает строку, представляющую время в соответствии с форматом. Возвращаемое значение - struct_time.

Параметр формата по умолчанию равен %a %b %d %H:%M:%S %Y, который соответствует форматированию, возвращаемому ctime().

Так что в вашем случае попробуйте следующую строку, так как формат по умолчанию является один из CTime:

import datetime 
import time 

datetime.datetime.strptime(time.ctime(), "%a %b %d %H:%M:%S %Y") 
+0

Я пробую так в течение нескольких часов, но все равно не могу конвертировать 'Sat Apr 21 11: 58:02 2012 'to datetime правильно. – flreey

+0

@flreey просто исправил это, теперь это должно работать нормально. –

+0

спасибо, это моя вина, я поместил неправильные параметры.datetime.strptime (time.ctime(), '% a% b% d% H:% M:% S% Y') работает – flreey

2
+0

Я попробовал strptime, но он не может работать правильно. Поэтому я задаю вопрос здесь – flreey

+0

Что значит, что он не может работать правильно? – zognortz

+0

Я имею в виду, что я не могу преобразовать 'Sat Apr 21 11:58:02 2012' в datetime, используя этот метод. – flreey

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