對于日期的操作可以說是比較常見的case了,日期與格式化字符串互轉,日期與時間戳互轉,日期的加減操作等,下面主要介紹下常見的需求場景如何實現
1. 基本包引入
主要需要引入時間和日期的處理包,后面的基本操作都是基于此
import datetimeimport time
2. 獲取當前時間
獲取當前時間,有幾種方式,分別使用time和datetime來演示
a. time
獲取當前時間,格式化為字符串輸出
now = time.strftime("%Y-%m-%d %H:%M:%S")print(now)獲取當前時間,以時間戳方式輸出,結果為float類型,單位為s
now=time.time()print(now)

b. datetime
直接調用now()函數獲取當前時間,返回datetime類型對象
now = datetime.datetime.now()print(now)

3. 時間戳轉datetime
函數: datetime.datetime.fromtimestamp()
將時間戳轉換為datetime類型,因為后者可以進行日期的計算(如常見的加減或者格式化)
# 獲取當前的時間戳now = time.time()# 將時間差轉換為datetime對象date = datetime.datetime.fromtimestamp(now)print(date)

4. 時間戳轉格式化日期a. time
函數 time.strftime(format, localtime) 和 time.localtime(timestamp)
借助time的time.strftime函數來實現轉換,這里還需要做一個額外的處理,將時間戳轉換為struct_time 對象
now = time.time()# 首先格式化時間戳為struct_time對象,接著格式化輸出time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(now))
b. datetime
函數 datetime.datetime.fromtimestamp 與 datetime.datetime.strftime()
借助前面的知識點即可實現,先將timestamp轉換為datetime, 然后將datetime格式化為字符串
now=time.time()date =datetime.datetime.fromtimestamp(now)date.strftime('%Y-%m-%d %H:%M:%S')
5. 字符串轉時間戳
函數 strptime(str) 與 time.mktime(struct_time)
前面格式化輸出字符串時,主要利用的是strftime,這里則主要使用 strptime
now='2019-02-11 18:45:22'struct_time=time.strptime(now , '%Y-%m-%d %H:%M:%S')timestamp=time.mktime(struct_time)
新聞熱點
疑難解答