詳解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的更多內容!

推薦閱讀: