Python 日期和時間戳的轉換

2022-08-30 00:30:22 字數 3343 閱讀 1443

python中處理時間的模組有timedatetimecalendar

在python中表示時間的方式:

time模組,以元組(struct_time)為核心實現時間戳和格式化時間字串的相互轉換。

datetime模組,以datetime類例項物件為核心實現時間戳和格式化時間字串的相互轉換。

time模組是通過呼叫c庫實現的,所以在有些平台上無法使用。大部分介面和c標準庫的time.h一致。

使用time模組來進行格式化時間字串和時間戳的相互轉換。

使用time模組獲取當前時間的時間戳:   

>>> import

time

>>>time.time()

1551157481.034565

時間戳轉換為元組(struct_time):

>>>time.localtime(time.time())

time.struct_time(tm_year=2019, tm_mon=2, tm_mday=26, tm_hour=13, tm_min=2, tm_sec=1, tm_wday=1, tm_yday=57, tm_isdst=0)

元組(struct_time)轉換為格式化時間字串

>>> time.strftime('

%y-%m-%d %h:%m:%s

', time.localtime(time.time()))

'2019-02-26 13:04:41

'

將格式化時間字串'2019-02-26 13:04:41'轉換為時間戳。

格式化時間字串轉換為元組(struct_time):

>>> str_time = '

2019-02-26 13:04:41

'>>> time.strptime(str_time, '

%y-%m-%d %h:%m:%s')

time.struct_time(tm_year=2019, tm_mon=2, tm_mday=26, tm_hour=13, tm_min=4, tm_sec=41, tm_wday=1, tm_yday=57, tm_isdst=-1)

元組(struct_time)轉換為時間戳

>>> time.mktime(time.strptime(str_time, '

%y-%m-%d %h:%m:%s'))

1551157481.0

使用time模組獲取當前日期(使用當前時間的struct_time作為預設引數)

>>> time.strftime('

%y-%m-%d')

'2019-02-26

'

使用time模組獲取當前時間(使用當前時間的struct_time作為預設引數)

>>> time.strftime('

%h:%m:%s')

'13:21:13

'

和time模組相比,datetime模組提供更直接易用的介面,功能也更加強大。

datetime模組提供了處理日期和時間的類,既有簡單的方式,也有複雜的方式。它雖然支援日期和時間演算法,但其實現是重點是輸出的格式化操作和更加有效的屬性提取功能。

datetime模組中定義的類(這些類的物件都是不可變的):

使用datetime類將時間戳轉換為datetime例項

>>> import

time

>>> from datetime import

datetime

>>> dt =datetime.fromtimestamp(time.time())

>>>dt

datetime.datetime(2019, 2, 26, 15, 27, 28, 678923)

datetime例項轉換為格式化字串

>>> dt.strftime('

%y-%m-%d %h:%m:%s')

'2019-02-26 15:27:28

'

使用datetime類將格式化字串'2019-02-26 15:27:28'轉換為datetime例項

>>> st = '

2019-02-26 15:27:28

'>>> dt = datetime.strptime(st, '

%y-%m-%d %h:%m:%s')

>>>dt

datetime.datetime(2019, 2, 26, 15, 27, 28)

datetime例項轉轉為元組(struct_time)

>>> tp = dt.timetuple()

>>> tp

time.struct_time(tm_year=2019, tm_mon=2, tm_mday=26, tm_hour=15, tm_min=27, tm_sec=28, tm_wday=1, tm_yday=57, tm_isdst=-1)

元組(struct_time)轉換為時間戳

>>>time.mktime(tp)

1551166048.0

也可以直接使用datetime例項的timestamp()函式直接獲取時間戳:

>>>dt.timestamp()

1551166048.0

使用datetime類獲取當前日期

>>> datetime.now().date().strftime('

%y-%m-%d')

'2019-02-26

'

使用datetime類獲取當前時間

>>> datetime.now().time().strftime('

%h:%m:%s')

'15:48:43

'

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

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

時間戳轉換日期

前台和後台都是在客戶端或者瀏覽器上瀏覽者瀏覽的介面和管理者管理的介面前端 ui層 後端 ui呼叫層 mybatis 轉換格式的時候,直接加到vo dto的類上 datetimeformat是將string轉換成date,一般前台給後台傳值時用 jsonformat pattern yyyy mm d...

Python 時間戳和日期相互轉換

在寫python的時候經常會遇到時間格式的問題,每次都是上 google 搜尋然後找別人的部落格或 來參考。現在自己簡單總結一下,方便以後查詢。首先就是最近用到的時間戳 timestamp 和時間字串之間的轉換。所謂時間戳,就是從 1970 年 1 月 1 日 00 00 00 到現在的秒數。那關於...