python日期與時間戳的各種轉換

2021-09-26 22:36:27 字數 2519 閱讀 8938

官方文件的示例中沒有我們習慣的日期格式,查了很多部落格轉換日期和時間戳也都是大概的能得到結果的方式,常將 datetime 和 time 兩個模組混用,個人覺得時間格式化不應該這麼麻煩,還得用兩個模組來支援?故而翻遍了原始碼,總結以下常用的幾種日期和時間戳的轉換方式。

以下主要有三個元素(時間字串,格式,unix時間戳),可將時間字串轉為另一種時間格式,或將時間字串轉為時間戳,或將時間戳轉為時間字串。

datetime 和 time 兩個模組,任意乙個都能轉換完成。

以下兩個模組均列出示例:

# -*- coding: utf-8 -*-

from datetime import datetime

import time

s = '2019-06-07 16:30:10'

f = '%y-%m-%d %h:%m:%s'

s2 = 'fri jun 7 16:30:10 2019'

f2 = '%c'

# 時間字串轉時間戳, 時間字串 s和format 對應

# int(t) 轉為整型

t = datetime.strptime(s, f).timestamp() # 1559856210.0

t2 = time.mktime(time.strptime(s, f)) # 1559856210.0

t3 = time.mktime(time.strptime(s2, f2)) # 1559856210.0

t4 = datetime.strptime(s2, f2).timestamp() # 1559856210.0

t5 = datetime.strptime('2019-06-07', '%y-%m-%d').timestamp() # 1559836800.0

t6 = datetime.strptime('06/07/19', '%x').timestamp() # 1559836800.0 (06/07/2019, '%m/%d/%y')

print(t, t2, t3, t4, t5, t6, "\n")

ut = 1559896210 型別是int

# 時間戳轉為時間字串

d = datetime.fromtimestamp(ut) # 2019-06-07 16:30:10

d2 = time.strftime(f, time.localtime(ut)) # 2019-06-07 16:30:10

d3 = time.ctime(ut) # fri jun 7 16:30:10 2019

d4 = datetime.fromtimestamp(ut).ctime() # fri jun 7 16:30:10 2019

d5 = time.strftime('%y-%m-%d', time.localtime(ut)) # 2019-06-07 (05:23:30, %h:%m:%s)

d6 = datetime.fromtimestamp(ut).date() # 2019-06-07

d7 = datetime.fromtimestamp(ut).time() # 16:30:10

d8 = time.strftime('%x', time.localtime(ut)) # 06/07/19

d9 = time.strftime('%x', time.localtime(ut)) # 16:30:10

dd = datetime.fromtimestamp(ut).strftime('%x') # 06/07/19 [(16:30:10, %x), (fri jun 7 16:30:10 2019, %c)]

print(d, d2, d3, d4, d5, d6, d7, d8, d9, dd, "\n")

# 格式轉換

# 將 2019-06-07 16:30:10 轉為 fri jun 7 16:30:10 2019

# (16:30:10, %x)

transf = datetime.strptime(s, f).strftime(f2)

# 將 fri jun 7 16:30:10 2019 轉為 2019-06-07

# (2019-06-07 16:30:10, %y-%m-%d %h:%m:%s)

transf2 = datetime.strptime(s2, f2).strftime('%y-%m-%d')

# 將 2019-06-07 16:30:10 轉為 fri jun 7 16:30:10 2019

# (2019-06-07 16:30:10, %y-%m-%d %h:%m:%s)

transf3 = time.strftime('%c', time.strptime(s, f))

# 將 fri jun 7 16:30:10 2019 轉為 2019-06-07 16:30:10

transf4 = time.strftime(f, time.strptime(s2, f2))

print(transf, transf2, transf3, transf4)

Python 日期與時間戳的各種轉換

收藏一下,感謝原博主!coding utf 8 from datetime import datetime import time s 2019 06 07 16 30 10 f y m d h m s s2 fri jun 7 16 30 10 2019 f2 c 時間字串轉時間戳,時間字串 s和...

python日期與時間戳的各種轉換示例

官方文件的示例中沒有我們習慣的日期格式,查了很多部落格轉換日期和時間戳也都是大概的能得到結果的方式,常將 datetime 和 time 兩個模組混用,個人覺得時間格式化不應該這麼麻煩,還得用兩個模組來支援?故而翻遍了原始碼,總結以下常用的幾種日期和時間戳的轉換方式。以下主要有三個元素 時間字串,格...

python時間日期與時間戳的轉換

在編寫 時,經常涉及時間 日期 時間戳的相互轉換,這裡彙總一下,用的是python3 用到的模組 import time,datetime1 str型別的日期轉換為時間戳 str型別的時間 time1 2020 05 20 13 14 00 轉為時間陣列 timearray time.strptim...