JAVA Swing: загрузка текстовых файлов в текстовые области из jTree selection [duplicate]

Есть две части:

  1. Конвертировать временную метку unix («секунды с эпохи») в локальное время
  2. Отображать местное время в нужном формате.

Портативный способ получить локальное время, которое работает, даже если местный часовой пояс имел другое смещение utc в прошлом, и python не имеет доступа к базе данных tz, это использовать pytz часовой пояс:

#!/usr/bin/env python
from datetime import datetime
import tzlocal  # $ pip install tzlocal

unix_timestamp = float("1284101485")
local_timezone = tzlocal.get_localzone() # get pytz timezone
local_time = datetime.fromtimestamp(unix_timestamp, local_timezone)

Чтобы отобразить его, вы можете использовать любой формат времени, поддерживаемый вашей системой, например:

print(local_time.strftime("%Y-%m-%d %H:%M:%S.%f%z (%Z)"))
print(local_time.strftime("%B %d %Y"))  # print date in your format

Если вам не нужен локальный время, чтобы получить читаемое время UTC:

utc_time = datetime.utcfromtimestamp(unix_timestamp)
print(utc_time.strftime("%Y-%m-%d %H:%M:%S.%f+00:00 (UTC)"))

Если вам не нужны проблемы с часовым поясом, которые могут повлиять на , какая дата будет возвращена или если python имеет доступ к базе данных tz в вашей системе:

local_time = datetime.fromtimestamp(unix_timestamp)
print(local_time.strftime("%Y-%m-%d %H:%M:%S.%f"))

На Python 3 вы можете получить дату и время, относящиеся к часовому поясу, используя только stdlib (смещение UTC может быть неправильным, если python не имеет доступа к tz база данных в вашей системе, например, в Windows):

#!/usr/bin/env python3
from datetime import datetime, timezone

utc_time = datetime.fromtimestamp(unix_timestamp, timezone.utc)
local_time = utc_time.astimezone()
print(local_time.strftime("%Y-%m-%d %H:%M:%S.%f%z (%Z)"))

Функции модуля time представляют собой тонкие обертки вокруг соответствующих C API, и поэтому они могут быть менее портативными, чем соответствующие datetime методы, иначе вы могли бы их использовать:

#!/usr/bin/env python
import time

unix_timestamp  = int("1284101485")
utc_time = time.gmtime(unix_timestamp)
local_time = time.localtime(unix_timestamp)
print(time.strftime("%Y-%m-%d %H:%M:%S", local_time)) 
print(time.strftime("%Y-%m-%d %H:%M:%S+00:00 (UTC)", utc_time))  
0
задан novicegeek 30 July 2015 в 12:14
поделиться

1 ответ

Вы не обновили контейнер content. В конце вашего метода actionPerformed добавьте строки

//content.invalidate();
content.revalidate();
content.repaint();
2
ответ дан mKorbel 25 August 2018 в 06:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: