詳解python日期時間處理
講瞭很多數據容器操作,這篇我們看看時間的處理。
開發中常用的日期操作有哪些?
- 獲取當前時間
- 獲取系統秒數(從紀元時間開始)
- 日期跟秒數之間轉換
- 獲取日歷等
- 日期格式化顯示輸出
這些都非常常見
在python 主要有下面兩個模塊涵蓋瞭常用日期處理
import time import calender
我們看看這兩個模塊。
time 內置模塊
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/11/10 22:49 下午 # @Author : LeiXueWei # @CSDN/Juejin/Wechat: 雷學委 # @XueWeiTag: CodingDemo # @File : __init__.py.py # @Project : hello import time # 從19700101 零時刻開始計算經過多少秒,精確到微秒 ticks = time.time() print("ticks=", ticks) #獲取當前時間 print(time.localtime())
運行效果如下:
這個ticks就是從0時刻計算,至今的秒數累計。
可以隔一秒運行這個程序,每次ticks值加上1(近似)
指定輸入來構造時間:
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/11/10 22:49 上午 # @Author : LeiXueWei # @CSDN/Juejin/Wechat: 雷學委 # @XueWeiTag: CodingDemo # @File : createtime.py # @Project : hello import time #fixed time: time.struct_time(tm_year=2021, tm_mon=11, tm_mday=10, tm_hour=22, tm_min=55, tm_sec=11, tm_wday=16, tm_yday=16, tm_isdst=16) fixed = time.struct_time((2021, 11, 10, 22, 55, 11, 16, 16, 16)) print("fixed time:", fixed)
運行效果如下:
calender 內置模塊
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/11/10 22:49 上午 # @Author : LeiXueWei # @CSDN/Juejin/Wechat: 雷學委 # @XueWeiTag: CodingDemo # @File : calendardemo.py # @Project : hello import calendar cal = calendar.month(2021, 11) print("cal:", cal)
至今輸出一個月份,這個在Java的Calendar中也沒有。太直接瞭。
日期格式化處理
這裡我們使用瞭time模塊的strftime(str from time):
#第一個參數為格式,第二個參數為時間 time.strftime("%Y-%m-%d %H:%M:%S %Z", gmtime))
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/11/10 22:49 上午 # @Author : LeiXueWei # @CSDN/Juejin/Wechat: 雷學委 # @XueWeiTag: CodingDemo # @File : createtime2.py # @Project : hello import time sec = 3600 # 紀元開始後的一個小時(GMT 19700101凌晨) # gmtime = time.gmtime(sec) print("gmtime:", gmtime) # GMT print("type:", type(gmtime)) print(time.strftime("%b %d %Y %H:%M:%S", gmtime)) print(time.strftime("%Y-%m-%d %H:%M:%S", gmtime)) print(time.strftime("%Y-%m-%d %H:%M:%S %Z", gmtime)) # 打印日期加上時區 print("*" * 16) localtime = time.localtime(sec) print("localtime:", localtime) # 本地時間 print("type:", type(localtime)) print(time.strftime("%b %d %Y %H:%M:%S", localtime)) print(time.strftime("%Y-%m-%d %H:%M:%S", localtime)) print(time.strftime("%Y-%m-%d %H:%M:%S %Z", localtime)) # 打印日期加上時區 # 試試其他格式 print(time.strftime("%D", localtime)) print(time.strftime("%T", localtime))
稍微解釋一下:
%Y-%m-%d %H:%M:%S %Z 對應的是
年份4位數-月份-日期 小時:分鐘:秒數 時區信息
%b 則是三個字母英文輸出月份,比如Jan/Feb 等。
下面是運行結果:
總結
Python 提供的日期處理都非常簡單,但是在創建日期方面使用time模塊沒有那麼方便,需要對應元組下標才行。
本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!