Преобразование java System.currentTimeMillis () на сегодняшний день в python

У меня есть метка времени в миллисекундах с 1970 года. Я хотел бы преобразовать ее в понятную для человека дату на python. Я не могу потерять некоторую точность, если дело дойдет до этого.

Как мне это сделать?

Следующие дают ValueError: временная метка вне диапазона для платформы time_t на Linux 32bit

#!/usr/bin/env python from datetime import date print date.fromtimestamp(1241711346274) 

Спасибо, Максим.

3 Solutions collect form web for “Преобразование java System.currentTimeMillis () на сегодняшний день в python”

Python ожидает секунды, поэтому сначала разделите его на 1000.0:

 >>> print date.fromtimestamp(1241711346274/1000.0) 2009-05-07 

Вы можете сохранить точность, потому что в Python метка времени – это float. Вот пример:

 import datetime java_timestamp = 1241959948938 seconds = java_timestamp / 1000 sub_seconds = (java_timestamp % 1000.0) / 1000.0 date = datetime.datetime.fromtimestamp(seconds + sub_seconds) 

Вы, очевидно, можете сделать это более компактным, чем это, но приведенное выше подходит для ввода, строки за раз, в REPL, поэтому см., Что он делает. Например:

 Python 2.5.2 (r252:60911, Feb 22 2008, 07:57:53) [GCC 4.0.1 (Apple Computer, Inc. build 5363)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> java_timestamp = 1241959948938 >>> import datetime >>> seconds = java_timestamp / 1000 >>> seconds 1241959948L >>> sub_seconds = (java_timestamp % 1000.0) / 1000.0 >>> sub_seconds 0.93799999999999994 >>> date = datetime.datetime.fromtimestamp(seconds + sub_seconds) >>> date datetime.datetime(2009, 5, 10, 8, 52, 28, 938000) >>> 

Это в миллисекундах разделило метку времени на 1000, чтобы стать в секундах.

 date.fromtimestamp(1241711346274/1000) 
  • время отправки fastfix (поле 52), отбрасывающее миллисекунды
  • Аннотации участка временного ряда Bokeh отключены на 1 час
  • Split DatetimeIndex в дату и время MultiIndex удобно в Pandas
  • Что именно означает T и Z в timestamp?
  • Невозможно применить методы на временных отметках с помощью встроенных встроенных модулей
  • Как указать параметр psycopg2 для массива для временных меток (datetimes)
  • Чтение даты и времени в sqlite3
  • Сбросить временную часть временной отметки панды
  • Python - лучший язык программирования в мире.