Временная метка Python из дня, месяца, года Возможно ли создать временную метку UNIX в Python (количество секунд) с использованием только дня, месяца и года от объекта даты? Я по существу ищу, какая отметка будет в полночь (час, минута и секунда будут 0). Спасибо! Ответ 1 >>> 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 Для других типов времени, таких как Hour и Second, перейдите сюда: https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior Ответ 2 Вы также можете использовать 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). Надеюсь, кто-нибудь может указать мне, как получить результат GMT Ответ 3 Вы можете сделать это, получив количество секунд между датой и эпохой (1 января 1970 года): from datetime import datetime epoch = datetime(1970, 1, 1) d = datetime(2012, 2, 10) print (d - epoch).total_seconds()
Ответ 1 >>> 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 Для других типов времени, таких как Hour и Second, перейдите сюда: https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior
Ответ 2 Вы также можете использовать 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). Надеюсь, кто-нибудь может указать мне, как получить результат GMT
Ответ 3 Вы можете сделать это, получив количество секунд между датой и эпохой (1 января 1970 года): from datetime import datetime epoch = datetime(1970, 1, 1) d = datetime(2012, 2, 10) print (d - epoch).total_seconds()