網站首頁 編程語言 正文
Python 中處理日期和時間的模塊
Python 提供了time
和datetime
模塊,可以幫助我們輕松獲取和修改日期和時間,下面讓我們來逐一了解一下。
time 模塊
該模塊包括使用時間執行各種操作所需的所有與時間相關的功能,它還允許我們訪問多種用途所需的時鐘類型。
內置函數:
請看下表,它描述了時間模塊的一些重要內置功能。
function | Description |
---|---|
time() | 返回自epoch以來經過的秒數 |
ctime() | 以經過的秒數作為參數,返回當前日期和時間 |
sleep() | 在給定的持續時間內停止線程的執行 |
time.struct_time Class | 函數要么將此類作為參數,要么將其作為輸出返回 |
localtime() | 以自epoch以來經過的秒數作為參數,并以時間形式返回日期和時間。struct_time格式 |
gmtime() | 與localtime()類似,返回時間。UTC格式的struct_time |
mktime() | ocaltime()的倒數。獲取包含9個參數的元組,并返回自epoch pas輸出以來經過的秒數 |
asctime() | 獲取包含9個參數的元組,并返回表示相同參數的字符串 |
strftime() | 獲取包含9個參數的元組,并根據使用的格式代碼返回表示相同參數的字符串 |
strptime() | 分析字符串并及時返回。struct_time格式 |
代碼格式化:
在用示例解釋每個函數之前,先看一下所有合法的格式化代碼的方式:
Code | Description | Example |
---|---|---|
%a | Weekday (short version) | Mon |
%A | Weekday (full version) | Monday |
%b | Month (short version) | Aug |
%B | Month (full version) | August |
%c | Local date and time version | Tue Aug 23 1:31:40 2019 |
%d | Depicts the day of the month (01-31) | 07 |
%f | Microseconds | 000000-999999 |
%H | Hour (00-23) | 15 |
%I | Hour (00-11) | 3 |
%j | Day of the year | 235 |
%m | Month Number (01-12) | 07 |
%M | Minutes (00-59) | 44 |
%p | AM / PM | AM |
%S | Seconds (00-59) | 23 |
%U | Week number of the year starting from Sunday (00-53) | 12 |
%w | Weekday number of the week | Monday (1) |
%W | Week number of the year starting from Monday (00-53) | 34 |
%x | Local date | 06/07/22 |
%X | Local time | 12:30:45 |
%y | Year (short version) | 22 |
%Y | Year (full version) | 2022 |
%z | UTC offset | +0100 |
%Z | Timezone | CST |
%% | % Character | % |
struct_time 類具有以下屬性:
Attribute | Value |
---|---|
tm_year | 0000, .., 2019, …, 9999 |
tm_mon | 1-12 |
tm_mday | 1-31 |
tm_hour | 0-23 |
tm_min | 0-59 |
tm_sec | 0-61 |
tm_wday | 0-6 ?(Monday is 0) |
tm_yday | 1-366 |
tm_isdst | 0, 1, -1 ? ?(daylight savings time, -1 when unknown) |
現在讓我們看幾個?time
?模塊的例子
使用time模塊查找日期和時間
使用上表中描述的內置函數和格式化代碼,可以在 Python 中輕松獲取日期和時間。
import?time #time a=time.time()???????????#total?seconds?since?epoch print("Seconds?since?epoch?:",a,end='n----------n') #ctime print("Current?date?and?time:") print(time.ctime(a),end='n----------n')? #sleep time.sleep(1)?????#execution?will?be?delayed?by?one?second #localtime print("Local?time?:") print(time.localtime(a),end='n----------n') #gmtime print("Local?time?in?UTC?format?:") print(time.gmtime(a),end='n-----------n') #mktime b=(2019,8,6,10,40,34,1,218,0) print("Current?Time?in?seconds?:") print(?time.mktime(b),end='n----------n') #asctime print("Current?Time?in?local?format?:") print(?time.asctime(b),end='n----------n') #strftime c?=?time.localtime()?#?get?struct_time d?=?time.strftime("%m/%d/%Y,?%H:%M:%S",?c) print("String?representing?date?and?time:") print(d,end='n----------n') #strptime print("time.strptime?parses?string?and?returns?it?in?struct_time?format?:n") e?=?"06?AUGUST,?2019" f?=?time.strptime(e,?"%d?%B,?%Y") print(f)
Output:
Seconds since epoch : 1565070251.7134922
———-
Current date and time:
Tue Aug 6 11:14:11 2019
———-
Local time :
time.struct_time(tm_year=2019, tm_mon=8, tm_mday=6, tm_hour=11, tm_min=14, tm_sec=11, tm_wday=1, tm_yday=218, tm_isdst=0)
———-
Local time in UTC format :
time.struct_time(tm_year=2019, tm_mon=8, tm_mday=6, tm_hour=5, tm_min=44, tm_sec=11, tm_wday=1, tm_yday=218, tm_isdst=0)
———–
Current Time in seconds :
1565068234.0
———-
Current Time in local format :
Tue Aug 6 10:40:34 2019
———-
String representing date and time:
08/06/2019, 11:14:12
———-
time.strptime parses string and returns it in struct_time format :
time.struct_time(tm_year=2019, tm_mon=8, tm_mday=6, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=218, tm_isdst=-1)
datetime 模塊
與time
模塊類似,datetime
模塊包含處理日期和時間所必需的所有方法。
內置功能:
下表介紹了本模塊中的一些重要功能:
function | Description |
---|---|
datetime() | datetime 的構造函數 |
datetime.today() | 返回當前本地日期和時間 |
datetime.now() | 返回當前本地日期和時間 |
date() | 以年、月、日為參數,創建相應的日期 |
time() | 以小時、分鐘、秒、微秒和tzinfo作為參數,并創建相應的日期 |
date.fromtimestamp() | 轉換秒數以返回相應的日期和時間 |
timedelta() | 它是不同日期或時間之間的差異(持續時間) |
使用?datetime?查找日期和時間
現在,讓我們嘗試實現這些函數,以使用datetime
模塊在 Python 中查找日期和時間。
import?datetime #datetime?constructor print("Datetime?constructor:n") print(datetime.datetime(2019,5,3,8,45,30,234),end='n----------n') ? #today print("The?current?date?and?time?using?today?:n") print(datetime.datetime.today(),end='n----------n') ? #now print("The?current?date?and?time?using?today?:n") print(datetime.datetime.now(),end='n----------n') ? #date print("Setting?date?:n") print(datetime.date(2019,11,7),end='n----------n') ?? #time print("Setting?time?:n") print(datetime.time(6,30,23),end='n----------n') ? #date.fromtimestamp print("Converting?seconds?to?date?and?time:n") print(datetime.date.fromtimestamp(23456789),end='n----------n') ? #timedelta b1=datetime.timedelta(days=30,?seconds=0,?microseconds=0,?milliseconds=0,?minutes=0,?hours=4,?weeks=8) b2=datetime.timedelta(days=3,?seconds=0,?microseconds=0,?milliseconds=0,?minutes=0,?hours=4,?weeks=8) b3=b2-b1 print(type(b3)) print("The?resultant?duration?=?",b3,end='n----------n') ? #attributes a=datetime.datetime.now()???#1 print(a) print("The?year?is?:",a.year) ? print("Hours?:",a.hour)
Output:
Datetime constructor:
2019-05-03 08:45:30.000234
———-
The current date and time using today :
2019-08-06 13:09:56.651691
———-
The current date and time using today :
2019-08-06 13:09:56.651691
———-
Setting date :
2019-11-07
———-
Setting time :
06:30:23
———-
Converting seconds to date and time:
1970-09-29
———-
<class ‘datetime.timedelta’>
The resultant duration = -27 days, 0:00:00
———-
2019-08-06 13:09:56.653694
The year is : 2019
Hours : 13
原文鏈接:https://mp.weixin.qq.com/s/1VJXaKV01rju8BVY6Db6IA
相關推薦
- 2022-03-12 Android列表點擊事件定義的一些思考_Android
- 2022-05-27 從零開始學Golang的接口_Golang
- 2022-05-03 C#面向對象設計原則之里氏替換原則_C#教程
- 2022-08-17 python運行腳本文件的三種方法實例_python
- 2022-11-13 yolov5模型配置yaml文件詳細講解_python
- 2022-09-15 C語言編寫實現學生管理系統_C 語言
- 2022-03-29 在pyqt5中展示pyecharts生成的圖像問題_python
- 2022-03-03 手寫一個angular中帶checkbox的table組件
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支