Метка времени Python от дня, месяца, года - PullRequest
25 голосов
/ 10 февраля 2012

Можно ли создать метку времени UNIX в Python (количество секунд) только с днем, месяцем и годом из объекта даты? По сути, я ищу, какая временная метка будет в полночь (час, минута и секунда будут 0).

Спасибо!

Ответы [ 3 ]

54 голосов
/ 10 февраля 2012
>>> import time
>>> import datetime
>>> dt = datetime.datetime.strptime('2012-02-09', '%Y-%m-%d')
>>> time.mktime(dt.timetuple())
1328774400.0

- ИЛИ -

>>> dt = datetime.datetime(year=2012, month=2, day=9)
>>> time.mktime(dt.timetuple())
1328774400.0

Для других типов времени, таких как час и секунда, перейдите сюда: https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior

3 голосов
/ 10 февраля 2012

Вы также можете использовать datetime.combine ()

>>> import datetime
>>> import time
>>> date1 = datetime.date(year=2012,day=02,month=02)
>>> date2 = datetime.datetime.combine(date1,datetime.time())
>>> date2
datetime.datetime(2012, 2, 2, 0, 0)
>>> tstamp = time.mktime(date2.timetuple())
>>> tstamp
1328121000.0

Результат зависит от местного часового пояса (в данном случае IST). Я надеюсь, что кто-нибудь подскажет мне, как получить результат по Гринвичу

0 голосов
/ 10 февраля 2012

Вы можете сделать это, получив количество секунд между датой и эпохой (1 января 1970 г.):

from datetime import datetime

epoch = datetime(1970, 1, 1)
d = datetime(2012, 2, 10)

print (d - epoch).total_seconds()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...