python 時間 時間戳 轉換

2022-05-25 06:45:08 字數 3181 閱讀 6785

1.簡介

在編寫**時,往往涉及時間、日期、時間戳的相互轉換。

python datetime 新增時區

import datetime

from dateutil import tz

tz_sh = tz.gettz('asia/shanghai')

print datetime.datetime.now(tz=tz_sh)

2.示例

# 引入模組

import time, datetime

from sqlalchemy_utils.types.arrow import arrow

2.1 str型別的日期轉換為時間戳

# 字元型別的時 tss1 = '2013-10-10 23:40:00'

# 轉為時間陣列timearray = time.strptime(tss1, "%y-%m-%d %h:%m:%s")

print timearray

# timearray可以呼叫tm_year等

print timearray.tm_year # 2013

# 轉為時間戳

timestamp = int(time.mktime(timearray))

print timestamp # 1381419600

# 結果如下

time.struct_time(tm_year=2013, tm_mon=10, tm_mday=10, tm_hour=23, tm_min=40, tm_sec=0, tm_wday=3, tm_yday=283, tm_isdst=-1)

2013

1381419600

2.2 更改str型別日期的顯示格式

tss2 = "2013-10-10 23:40:00"

# 轉為陣列

timearray = time.strptime(tss2, "%y-%m-%d %h:%m:%s")

# 轉為其它顯示格式

otherstyletime = time.strftime("%y/%m/%d %h:%m:%s", timearray)

print otherstyletime # 2013/10/10 23:40:00

tss3 = "2013/10/10 23:40:00"

timearray = time.strptime(tss3, "%y/%m/%d %h:%m:%s")

otherstyletime = time.strftime("%y-%m-%d %h:%m:%s", timearray)

print otherstyletime # 2013-10-10 23:40:00

2.3 時間戳轉換為指定格式的日期

# 使用time

timestamp = 1381419600

timearray = time.localtime(timestamp)

otherstyletime = time.strftime("%y--%m--%d %h:%m:%s", timearray)

print(otherstyletime) # 2013--10--10 23:40:00

# 使用datetime

timestamp = 1381419600

datearray = datetime.datetime.fromtimestamp(timestamp)

otherstyletime = datearray.strftime("%y--%m--%d %h:%m:%s")

print(otherstyletime) # 2013--10--10 23:40:00

# 使用datetime,指定utc時間,相差8小時

timestamp = 1381419600

datearray = datetime.datetime.utcfromtimestamp(timestamp)

otherstyletime = datearray.strftime("%y--%m--%d %h:%m:%s")

print(otherstyletime) # 2013--10--10 15:40:00

2.4 獲取當前時間並且用指定格式顯示

# time獲取當前時間戳

now = int(time.time()) # 1533952277

timearray = time.localtime(now)

print timearray

otherstyletime = time.strftime("%y--%m--%d %h:%m:%s", timearray)

print otherstyletime

# 結果如下

time.struct_time(tm_year=2018, tm_mon=8, tm_mday=11, tm_hour=9, tm_min=51, tm_sec=17,

tm_wday=5, tm_yday=223, tm_isdst=0)

2018--08--11 09:51:17

# datetime獲取當前時間,陣列格式

now = datetime.datetime.now()

print now

otherstyletime = now.strftime("%y--%m--%d %h:%m:%s")

print otherstyletime

# 結果如下:

2018-08-11 09:51:17.362986

2018--08--11 09:51:17

2.5 使用arrow轉換時間

logging.warning(arrow.get(1593515266000 / 1000).format("yyyy-mm-dd hh:mm:ss"))

# 相差8小時

logging.warning(arrow.get(1593515266000 / 1000).to("local").format("yyyy-mm-dd hh:mm:ss"))

# 結果如下:

warning:root:2020-06-30 11:07:46

warning:root:2020-06-30 19:07:46

時間戳轉換時間

遇到兩個問題,第一是當前時間轉化為時間戳,第二是獲取的當前時間和系統的時間相差8個小時 一,轉化的方法為 nsstring timesp nsstring stringwithformat d long localedate timeintervalsince1970 nslog timesp ti...

時間戳轉換日期 日期轉換時間戳 時間戳轉換星期

時間戳轉換日期 string date orderinfo.getchangetime replace null dateformat sdf new dateformat mm dd string monthdate sdf.format new date long.parselong date ...

Python 中時間與時間戳轉換

首先,時間戳是指格林威治時間1970年01月01日00時00分00秒 北京時間1970年01月01日08時00分00秒 起至現在的總毫秒數。通俗的講,時間戳是乙份能夠表示乙份資料在乙個特定時間點已經存在的完整的可驗證的資料。import time t time.time print t 原始時間資料...