Учебник Python/Дата и время
Внешний вид
datetime
[править]подключение:
from datetime import datetime
получить текущее время
now = datetime.now()
сформировать строку:
datetime.strftime(datetime.now(), "%Y.%m.%d %H:%M:%S")
Чтение из строки вариант №1, попроще
>>> import dateutil.parser >>> from dateutil.tz import tzoffset, tzlocal >>> dateutil.parser.parse('Thu, 26 Jun 2014 05:07:27 +0400').astimezone(tzoffset(None, 3*3600)) datetime.datetime(2014, 6, 26, 4, 7, 27, tzinfo=tzoffset(None, 10800)
с определением локальной таймзоны:
>>> dateutil.parser.parse('Thu, 26 Jun 2014 05:07:27 -0400').astimezone(tzlocal()) datetime.datetime(2014, 6, 26, 13, 7, 27, tzinfo=tzlocal())
вариант №2 прочитать из строки (не работает в python 2.4.3, там надо использовать модуль time):
datetime.strptime( "2009", "%Y" ) datetime.strptime( "2009-11-12 23:18:53", "%Y-%m-%d %H:%M:%S" )
Операции сложения (timedelta)
[править]>>> from datetime import datetime, timedelta >>> a = datetime(2010, 12, 12) >>> b = timedelta(days=1, hours=2, seconds=15) >>> str(a) '2010-12-12 00:00:00' >>> str(a+b) '2010-12-13 02:00:15'
time
[править]Тип для работы с unixtime.
>>> print time.time() 1296734473.66
>>> time.localtime(1360250344) time.struct_time(tm_year=2013, tm_mon=2, tm_mday=7, tm_hour=19, tm_min=19, tm_sec=4, tm_wday=3, tm_yday=38, tm_isdst=0)
Конвертировать datetime в time:
print time.mktime(datetime.now().timetuple())
Timestamp → str
time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(1360250344))