import time, pytz
from datetime import datetime, timedelta
# UTC現在時刻(datetime)
dt_utc_now = datetime.now(pytz.utc)
print(dt_utc_now, type(dt_utc_now))
2018-09-13 04:52:40.000098+00:00 <class 'datetime.datetime'>
# UNIX TIME(datetime -> int)
unixtime = int(dt_utc_now.timestamp())
print(unixtime, type(unixtime))
1536814360 <class 'int'>
# UTC現在時刻(datetime -> string)
dt_str = dt_utc_now.strftime("%Y-%m-%dT%H:%M:%S.%fZ")
print(dt_str, type(dt_str))
2018-09-13T04:52:40.000098Z <class 'str'>
# UTC現在時刻(string -> datetime(time zone指定))
dt_utc = datetime.strptime(dt_str, "%Y-%m-%dT%H:%M:%S.%fZ").replace(tzinfo=pytz.utc)
print(dt_utc, type(dt_utc))
2018-09-13 04:52:40.000098+00:00 <class 'datetime.datetime'>
# time zone変更(datetime(UTC -> JST))
dt_jst = dt_utc_now.astimezone(pytz.timezone("Asia/Tokyo"))
print(dt_jst, type(dt_jst))
2018-09-13 13:52:40.000098+09:00 <class 'datetime.datetime'>
# UNIX TIME(time)
unix_time = time.time()
print(unix_time, type(unix_time))
1536814370.2933867 <class 'float'>
# 1時間後(datetime)
dt_after_1h = dt_utc_now + timedelta(hours=1)
print(dt_after_1h, type(dt_after_1h))
2018-09-13 05:52:40.000098+00:00 <class 'datetime.datetime'>
# 1時間後(UNIX TIME)
int_after_1h = unix_time + (60 * 60)
print(int_after_1h, type(int_after_1h))
1536817960 <class 'int'>