Как преобразовать дату и время в unix на Python
Подскажите, пожалуйста, как преобразовать дату 2019-12-24 04:00:00 в UNIX GMT 1577160000 на Python.
Отслеживать
10.4k 21 21 золотой знак 25 25 серебряных знаков 53 53 бронзовых знака
задан 23 дек 2019 в 11:10
ChikChirik ChikChirik
524 2 2 золотых знака 13 13 серебряных знаков 43 43 бронзовых знака
У вас есть строка 2019-12-24 04:00:00 и из нее нужно получить 1577160000 , правильно?
23 дек 2019 в 11:16
У меня получилось 1577149200 — это ваше лакальное время, а нужно по Гринвичу
23 дек 2019 в 11:21
У вас есть строка 2019-12-24 04:00:00 и из нее нужно получить 1577160000, правильно? — да
23 дек 2019 в 11:21
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Можно через .replace() указать часовой пояс на UTC :
import datetime as DT . dt = dt.replace(tzinfo=DT.timezone.utc) print(dt) print(dt.timestamp()) print(int(dt.timestamp())) # 2019-12-24 04:00:00+00:00 # 1577160000.0 # 1577160000
Способы парсинга строки с датой:
import datetime as DT dt = DT.datetime.strptime('2019-12-24 04:00:00', '%Y-%m-%d %H:%M:%S') print(dt) print(dt.timestamp()) print() # 2019-12-24 04:00:00 # 1577142000.0 dt = DT.datetime.fromisoformat('2019-12-24 04:00:00') print(dt) print(dt.timestamp()) print() # 2019-12-24 04:00:00 # 1577142000.0
Как конвертировать дату из строки в timestamp в python?
Пытаюсь конвертировать в timestamp. Пробовал через datetime.strptime(), но не нашел варианта формата для сокращенных дней недели и месяца.
- Вопрос задан 24 апр. 2023
- 125 просмотров
Комментировать
Решения вопроса 1

Сергей Карбивничий @hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
from datetime import datetime date_str = "Sun Mar 21 11:06:35 +0000 2021" date_format = "%a %b %d %H:%M:%S %z %Y" timestamp = datetime.strptime(date_str, date_format).timestamp() print(timestamp)
Output:
1616324795.0

Вроде правильно работает:
Работа с unix timestamp/time на python

Совсем недавно, я начал свое изучение python. Мне потребовалось несколько дней для того чтобы начать писать на нем элементарные вещи. И мне бы хотелось сохранять полезную информацию в виде своих заметок и для питон.
Как преобразовать unix timestamp в datetime на Python?
Делается это очень просто:
#!/bin/env python3 import datetime timestamp = 1339521878.04 value = datetime.datetime.fromtimestamp(timestamp) print(value.strftime('%Y-%m-%d %H:%M:%S'))
Чтобы получить datetime времени (сейчас), можно выполнить:
#!/bin/env python3 import datetime,time dt = datetime.datetime.now() value = datetime.datetime.fromtimestamp(time.mktime(dt.timetuple())) print(value.strftime('%Y-%m-%d %H:%M:%S'))
Вывод будет следующим:
2017-08-04 14:25:21
Как преобразовать datetime в timestamp на Python?
Делается это очень просто:
#!/bin/env python3 from datetime import datetime import time # time tuple in local time to timestamp time_tuple = (2017, 11, 12, 13, 59, 27, 2, 317, 0) timestamp = time.mktime(time_tuple) print (repr(timestamp)) # time tuple in utc time to timestamp time_tuple_utc = (2017, 11, 12, 13, 59, 27, 2, 317, 0) timestamp_utc = calendar.timegm(time_tuple_utc) print (repr(timestamp_utc))
Конвертация в строку:
#!/bin/env python3 from datetime import datetime import time # datetime object to string dt_obj = datetime(2017, 11, 10, 17, 53, 59) date_str = dt_obj.strftime("%Y-%m-%d %H:%M:%S") print (date_str) # time tuple to string time_tuple = (2017, 11, 12, 13, 51, 18, 2, 317, 0) date_str = time.strftime("%Y-%m-%d %H:%M:%S", time_tuple) print (date_str)
Конвертация в datetime:
#!/bin/env python3 from datetime import datetime import time # time tuple to datetime object time_tuple = (2017, 11, 12, 13, 51, 18, 2, 317, 0) dt_obj = datetime(*time_tuple[0:6]) print (repr(dt_obj)) # date string to datetime object date_str = "2017-11-10 17:53:59" dt_obj = datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S") print (repr(dt_obj)) # timestamp to datetime object in local time timestamp = 1226527167.595983 dt_obj = datetime.fromtimestamp(timestamp) print (repr(dt_obj)) # timestamp to datetime object in UTC timestamp = 1226527167.595983 dt_obj = datetime.utcfromtimestamp(timestamp) print (repr(dt_obj))
datetime.datetime(2017, 11, 12, 13, 51, 18) datetime.datetime(2017, 11, 10, 17, 53, 59) datetime.datetime(2008, 11, 12, 23, 59, 27, 595983) datetime.datetime(2008, 11, 12, 21, 59, 27, 595983)
Конвертация time tuples:
#!/bin/env python3 from datetime import datetime import time # datetime object to time tuple dt_obj = datetime(2017, 11, 10, 17, 53, 59) time_tuple = dt_obj.timetuple() print (repr(time_tuple)) # string to time tuple date_str = "2017-11-10 17:53:59" time_tuple = time.strptime(date_str, "%Y-%m-%d %H:%M:%S") print (repr(time_tuple)) # timestamp to time tuple in UTC timestamp = 1226527167.595983 time_tuple = time.gmtime(timestamp) print (repr(time_tuple)) # timestamp to time tuple in local time timestamp = 1226527167.595983 time_tuple = time.localtime(timestamp) print (repr(time_tuple))
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=10, tm_hour=17, tm_min=53, tm_sec=59, tm_wday=4, tm_yday=314, tm_isdst=- 1) time.struct_time(tm_year=2017, tm_mon=11, tm_mday=10, tm_hour=17, tm_min=53, tm_sec=59, tm_wday=4, tm_yday=314, tm_isdst=- 1) time.struct_time(tm_year=2008, tm_mon=11, tm_mday=12, tm_hour=21, tm_min=59, tm_sec=27, tm_wday=2, tm_yday=317, tm_isdst=0 ) time.struct_time(tm_year=2008, tm_mon=11, tm_mday=12, tm_hour=23, tm_min=59, tm_sec=27, tm_wday=2, tm_yday=317, tm_isdst=0 )
Преобразование метки времени в объект datetime в Python
В этой статье вы научитесь преобразовывать метку времени в объект datetime и объект datetime в метку времени (с помощью примеров).
Довольно часто дата и время хранятся в базе данных в виде отметок времени. Отметка времени Unix ‒ это количество секунд между определенной датой и 1 января 1970 года по всемирному координированному времени.
Пример 1: Отметка времени
from datetime import datetime timestamp = 1545730073 dt_object = datetime.fromtimestamp(timestamp) print(«dt_object =», dt_object) print(«type(dt_object) margin: 5px;»>