Python格式化時間

2021-09-13 17:55:11 字數 1793 閱讀 4498

time

在 python 文件裡,time是歸類在generic operating system services中,換句話說, 它提供的功能是更加接近於作業系統層面的。通讀文件可知,time 模組是圍繞著 unix timestamp 進行的。

該模組主要包括乙個類 struct_time,另外其他幾個函式及相關常量。

datetime

datetime 比 time 高階了不少,可以理解為 datetime 基於 time 進行了封裝,提供了更多實用的函式。在datetime 模組中包含了幾個類,具體關係如下:

格式化時間主要用到的是datetime.datetime.strftime()方法和datetime.datetime.strptime()方法,這兩個方法的一字之差'f'和'p'指的是什麼呢?

個人理解:strftime中的'f'指的是format,即格式化時間;strptime中的'p'指的是parse,即將乙個字串string按照指定的格式解析為時間

官方解釋是

strptime(...)

string, format -> new datetime parsed from a string (like time.strptime()).

簡單來說,strptime的作用就是將乙個字串解析為時間,並返回為datetime物件。

如我們有字串 '2018-05-18 11:09:34', 如何將它轉換為datetime物件呢?

in [1]: import datetime as dt

in [2]: strtime = '2018-05-18 11:09:34'

in [3]: type(strtime)

out[3]: str

in [4]: time = dt.datetime.strptime(strtime, '%y-%m-%d %h:%m:%s')

in [5]: time

out[5]: datetime.datetime(2018, 5, 18, 11, 9, 34)

in [6]: type(time)

out[6]: datetime.datetime

strftime(...)

format -> strftime() style string.

strptime的作用是格式化時間格式,使其按照我們想要的格式來顯示。如我們要得到 '11:09:34 2018-05-18' 的格式來輸出時間。

如下例,先將字串解析為datetime物件,然後在格式化時間輸出,將其輸出按照'11:09:34 2018-05-18'的格式輸出。

in [1]: strtime = '2018-05-18 11:09:34'

in [2]: time = dt.datetime.strptime(strtime, '%y-%m-%d %h:%m:%s')

in [3]: time

out[3]: datetime.datetime(2018, 5, 18, 11, 9, 34)

in [4]: type(time)

out[4]: datetime.datetime

in [5]: time.strftime('%h:%m:%s %y-%m-%d')

out[5]: '11:09:34 2018-05-18'

in [6]: aa = time.strftime('%h:%m:%s %y-%m-%d')

in [7]: type(aa)

out[7]: str

格式化時間

對date的擴充套件,將 date 轉化為指定格式的string 月 m 日 d 小時 h 分 m 秒 s 季度 q 可以用 1 2 個佔位符,年 y 可以用 1 4 個佔位符,毫秒 s 只能用 1 個佔位符 是 1 3 位的數字 例子 new date format yyyy mm dd hh m...

格式化時間

1.日期格式化就是對日期字串進行解析和格式化輸出 2.在軟體系統中,展現層的日期資料為字串,邏輯層的日期為date物件,儲存層的日期資料為時間戳 3.日期格式化就是在不同層次之間進行資料轉換 時間戳 date物件 格式化字串 utc universal time coordinated 是世界統一時...

格式化時間間隔

格式化時間 時間間隔單位統一用小時來判斷 時間據現在時間60分鐘以內 包括60分鐘 顯示x分鐘前 小於1小時 時間據現在時間1小時以上24小時以內 包括24小時 顯示x小時前 1 24小時 時間據現在時間24小時以上,10天以內 包括10天 顯示x天前 24 240小時 時間據現在時間10天以上,則...