網站首頁 編程語言 正文
1、時間戳轉換為指定格式日期
import time
t = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print(t)
timestamp = time.time()
tuple_time = time.localtime(timestamp)
print(tuple_time)
print(time.strftime("%Y-%m-%d %H:%M:%S", tuple_time))
2、將字符串的時間轉換為時間戳
import time
import datetime
time_str = "2023-02-19 23:07:21"
time_struct = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")
print(time_struct)
print(time.mktime(time_struct))
print(int(time.mktime(time_struct)))
3、Datetime詳細介紹
Python提供了多個內置模塊用于操作日期時間,像calendar,time,datetime。time模塊我在之前的文章已經有所介紹,它提供 的接口與C標準庫time.h基本一致。相比于time模塊,datetime模塊的接口則更直觀、更容易調用。今天就來講講datetime模塊。
datetime模塊定義了兩個常量:datetime.MINYEAR和datetime.MAXYEAR,分別表示datetime所能表示的最 小、最大年份。其中,MINYEAR = 1,MAXYEAR = 9999。(對于偶等玩家,這個范圍已經足夠用矣~~)
- datetime模塊定義了下面這幾個類:
- datetime.date:表示日期的類。常用的屬性有year, month, day;
- datetime.time:表示時間的類。常用的屬性有hour, minute, second, microsecond;
- datetime.datetime:表示日期時間。
- datetime.timedelta:表示時間間隔,即兩個時間點之間的長度。
- datetime.tzinfo:與時區有關的相關信息。(這里不詳細充分討論該類,感興趣的童鞋可以參考python手冊)
注 :上面這些類型的對象都是不可變(immutable)的。
下面詳細介紹這些類的使用方式。
date類
date類表示一個日期。日期由年、月、日組成(地球人都知道~~)。date類的構造函數如下:
class datetime.date(year, month, day):參數的意義就不多作解釋了,只是有幾點要注意一下:
- year的范圍是[MINYEAR, MAXYEAR],即[1, 9999];
- month的范圍是[1, 12]。(月份是從1開始的,不是從0開始的~_~);
- day的最大值根據給定的year, month參數來決定。例如閏年2月份有29天;
date類定義了一些常用的類方法與類屬性,方便我們操作:
- date.max、date.min:date對象所能表示的最大、最小日期;
- date.resolution:date對象表示日期的最小單位。這里是天。
- date.today():返回一個表示當前本地日期的date對象;
- date.fromtimestamp(timestamp):根據給定的時間戮,返回一個date對象;
- datetime.fromordinal(ordinal):將Gregorian日歷時間轉換為date對象;(Gregorian Calendar :一種日歷表示方法,類似于我國的農歷,西方國家使用比較多,此處不詳細展開討論。)
4、獲得三天前的時間的方法
import time
import datetime
time_str = "2023-02-19 23:07:21"
time_struct = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")
print(datetime.datetime.now())
computed_time = datetime.datetime.now() - datetime.timedelta(days=3)
print(computed_time)
timestamp = time.mktime(computed_time.timetuple())
print(timestamp)
time_str = time.strftime("%Y-%m-%d %H:%M:%S", computed_time.timetuple())
print(time_str)
5、使用datetime模塊來獲取當前的日期和時間
import time
import datetime
time_str = "2023-02-19 23:07:21"
time_struct = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")
currentDate = datetime.datetime.now()
print(time.strftime("%Y-%m-%d %H:%M:%S", currentDate.timetuple()))
print(currentDate.year)
print(currentDate.month)
print(currentDate.day)
print(currentDate.hour)
print(currentDate.minute)
print(currentDate.second)
date提供的實例方法和屬性:
- date.year、date.month、date.day:年、月、日;
- date.replace(year, month, day):生成一個新的日期對象,用參數指定的年,月,日代替原有對象中的屬性。(原有對象仍保持不變)
- date.timetuple():返回日期對應的time.struct_time對象;
- date.toordinal():返回日期對應的Gregorian Calendar日期;
- date.weekday():返回weekday,如果是星期一,返回0;如果是星期2,返回1,以此類推;
- data.isoweekday():返回weekday,如果是星期一,返回1;如果是星期2,返回2,以此類推;
- date.isocalendar():返回格式如(year,month,day)的元組;
- date.isoformat():返回格式如'YYYY-MM-DD’的字符串;
- date.strftime(fmt):自定義格式化字符串。在下面詳細講解。
import time
from datetime import datetime, date
time_str = "2023-02-19 23:07:21"
time_struct = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")
now = date(2023, 1, 18)
print(time.strftime("%Y-%m-%d %H:%M:%S", now.timetuple()))
print(now.weekday())
print(now.isoformat())
date還對某些操作進行了重載,它允許我們對日期進行如下一些操作:
- date2 = date1 + timedelta # 日期加上一個間隔,返回一個新的日期對象(timedelta將在下面介紹,表示時間間隔)
- date2 = date1 - timedelta # 日期隔去間隔,返回一個新的日期對象
- timedelta = date1 - date2 # 兩個日期相減,返回一個時間間隔對象
- date1 < date2 # 兩個日期進行比較
注: 對日期進行操作時,要防止日期超出它所能表示的范圍。
import time
from datetime import datetime, date, timedelta
time_str = "2023-02-19 23:07:21"
time_struct = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")
currentDate = date.today()
print(time.strftime("%Y-%m-%d %H:%M:%S", currentDate.timetuple()))
time_delta = currentDate - timedelta(days=1)
print(time.strftime("%Y-%m-%d %H:%M:%S", time_delta.timetuple()))
print(currentDate > time_delta)
print(currentDate - time_delta)
print(time_delta + timedelta(days=3))
datetime類提供的實例方法與屬性(很多屬性或方法在date和time中已經出現過,在此有類似的意義,這里只羅列這些方法名,具體含義不再逐個展開介紹,可以參考上文對date與time類的講解。):
- datetime.year、month、day、hour、minute、second、microsecond、tzinfo:
- datetime.date():獲取date對象;
- datetime.time():獲取time對象;
- datetime. replace ([ year[ , month[ , day[ , hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] ] ] ]):
- datetime. timetuple ()
- datetime. utctimetuple ()
- datetime. toordinal ()
- datetime. weekday ()
- datetime. isocalendar ()
- datetime. isoformat ([ sep] )
- datetime. ctime ():返回一個日期時間的C格式字符串,等效于time.ctime(time.mktime(dt.timetuple()));
- datetime. strftime (format)
像date一樣,也可以對兩個datetime對象進行比較,或者相減返回一個時間間隔對象,或者日期時間加上一個間隔返回一個新的日期時間對象。
原文鏈接:https://wtl4it.blog.csdn.net/article/details/129116300
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2022-01-26 阿里云服務器端口請求失敗(在控制臺把端口添加到服務器的安全組)
- 2022-09-09 python中gevent庫的用法詳情_python
- 2023-01-05 Kotlin協程Channel特點及使用細節詳解_Android
- 2023-06-17 pytorch?簡介及常用工具包展示_python
- 2023-03-22 nginx.conf配置兩個前端路徑_nginx
- 2022-11-02 Python+requests+unittest執行接口自動化測試詳情_python
- 2022-11-25 詳解C++中類的六大默認成員函數_C 語言
- 2022-11-24 Ajax?請求隊列解決方案并結合elementUi做全局加載狀態_AJAX相關
- 欄目分類
-
- 最近更新
-
- 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同步修改后的遠程分支