在日常工作中經常會遇到 python 時間格式轉換問題,如時間戳轉換為格式化時間、格式化時間轉換為時間戳,這裡做個總結。
在總結之前我們需要先弄清楚乙個關鍵?點:時區
# 返回 東八 時間戳
defget_shanghai_timestamp
(date_time)
: time_zone = pytz.timezone(
'asia/shanghai'
) timearray = datetime.datetime.strptime(date_time,
"%y-%m-%d %h:%m:%s"
) local_dt = timearray.astimezone(time_zone)
('>>>'
,int
(time.mktime(local_dt.timetuple())
))get_timestamp(
'2018-07-13 16:00:00'
)
import time
import pytz
import datetime
# 返回 utc 時間戳
defget_utc_timestamp
(utc_time_str, utc_format=r'%y-%m-%d %h:%m:%s'):
local_tz = pytz.timezone(
'utc'
)# 定義本地時區(東八時間比 utc 時間快8小時)
utc_dt = datetime.datetime.strptime(utc_time_str, utc_format)
#將世界時間的格式轉化為datetime.datetime格式
local_dt = utc_dt.astimezone(local_tz)
#想將datetime格式新增上世界時區,然後astimezone切換時區:世界時區==>本地時區
return
int(time.mktime(local_dt.timetuple())
)#返回當地時間戳
print
(get_utc_timestamp(
'2018-07-13 16:00:00'
, utc_format=
'%y-%m-%d %h:%m:%s'
))
# 方式一:
import time
import pytz
import datetime
defget_local_format_time
(timestamp)
: local_time=time.localtime(
) format_time=time.strftime(
"%y-%m-%d %h:%m:%s"
, local_time)
return format_time
get_local_format_time(
1529112900
)# 方式二:
deflocal_to_utc
(local_ts, time_format=r'%y-%m-%d %h:%m:%s'):
time_zone = pytz.timezone(
'asia/shanghai'
) time_str = time.strftime(time_format, time.localtime(local_ts)
)#首先將本地時間戳轉化為時間元組,用strftime格式化成字串
dt = datetime.datetime.strptime(time_str, time_format)
#將字串用strptime 轉為為datetime中 datetime格式
utc_dt = dt.astimezone(time_zone)
# astimezone切換為 utc 時區
return utc_dt.strftime(time_format)
#返回 utc 格式化時間
get_local_format_time(
1529112900
)
def
get_utc_format_time
(local_ts, time_format=r'%y-%m-%d %h:%m:%s'):
time_str = time.strftime(time_format, time.localtime(local_ts)
)#首先將本地時間戳轉化為時間元組,用strftime格式化成字串
dt = datetime.datetime.strptime(time_str, time_format)
#將字串用strptime 轉為為datetime中 datetime格式
utc_dt = dt.astimezone(pytz.utc)
# astimezone切換為 utc 時區
return utc_dt.strftime(time_format)
#返回 utc 格式化時間
get_utc_format_time(
1529112900
)
時間格式轉換 時間戳
時間 附 dateformat parser new dateformat eeee,mmmm dd,yyyy dateformat formatter new dateformat eee.mm dd dateformat sdf new dateformat yyyy mm dd hh mm s...
各種時間格式轉換 時間戳轉換
1 後端介面返回時間格式轉換成時間戳 例 2021 02 15t09 33 08.694 0000 方案1 const time 2021 02 15t09 33 08.694 0000 時間戳 new date time gettime 方案2 安裝moment import moment fro...
時間格式轉換 時間戳的轉換
1 thu mar 07 2019 12 00 00 gmt 0800 中國標準時間 轉換為 2019 03 07 12 00 00 const d new date thu mar 07 2019 12 00 00 gmt 0800 中國標準時間 const resdate d.getfullye...