Есть две части:
Портативный способ получить локальное время, которое работает, даже если местный часовой пояс имел другое смещение 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))
Вы не обновили контейнер content
. В конце вашего метода actionPerformed добавьте строки
//content.invalidate();
content.revalidate();
content.repaint();