日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python 日期和时间戳的转换

發布時間:2023/11/29 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 日期和时间戳的转换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python 日期和時間戳的轉換

1. Python中處理時間的模塊

Python中處理時間的模塊有timedatetimecalendar

在Python中表示時間的方式:

  • 時間戳:10位整數位和若干小數位,例如 1551153156.6358607
  • 元組(struct_time):? 含有9個元素的元組,例如 (tm_year=2011, tm_mon=9, tm_mday=28, tm_hour=10, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=271, tm_isdst=-1)
  • 格式化字符串: 格式化的時間字符串, 例如 '2019-02-26 12:45:46'

time模塊,以元組(struct_time)為核心實現時間戳和格式化時間字符串的相互轉換。

datetime模塊,以datetime類實例對象為核心實現時間戳和格式化時間字符串的相互轉換。

2. Python的time模塊

time模塊是通過調用C庫實現的,所以在有些平臺上無法使用。大部分接口和C標準庫的time.h一致。

使用time模塊來進行格式化時間字符串和時間戳的相互轉換。

2.1 將時間戳轉換為格式化字符串

使用time模塊獲取當前時間的時間戳:   

>>> import time >>> time.time() 1551157481.034565

?將時間戳轉換為元組(struct_time):

>>> time.localtime(time.time()) time.struct_time(tm_year=2019, tm_mon=2, tm_mday=26, tm_hour=13, tm_min=2, tm_sec=1, tm_wday=1, tm_yday=57, tm_isdst=0)

元組(struct_time)轉換為格式化時間字符串

>>> time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) '2019-02-26 13:04:41'

2.2 將格式化字符串轉換為時間戳

將格式化時間字符串'2019-02-26 13:04:41'轉換為時間戳。

格式化時間字符串轉換為元組(struct_time):

>>> str_time = '2019-02-26 13:04:41' >>> time.strptime(str_time, '%Y-%m-%d %H:%M:%S') time.struct_time(tm_year=2019, tm_mon=2, tm_mday=26, tm_hour=13, tm_min=4, tm_sec=41, tm_wday=1, tm_yday=57, tm_isdst=-1)

元組(struct_time)轉換為時間戳

>>> time.mktime(time.strptime(str_time, '%Y-%m-%d %H:%M:%S')) 1551157481.0

2.3 使用time模塊獲取當前日期和時間

使用time模塊獲取當前日期(使用當前時間的struct_time作為缺省參數)

>>> time.strftime('%Y-%m-%d') '2019-02-26'

使用time模塊獲取當前時間(使用當前時間的struct_time作為缺省參數)

>>> time.strftime('%H:%M:%S') '13:21:13'

3. Python 的datetime模塊

和time模塊相比,datetime模塊提供更直接易用的接口,功能也更加強大。

datetime模塊提供了處理日期和時間的類,既有簡單的方式,也有復雜的方式。它雖然支持日期和時間算法,但其實現是重點是輸出的格式化操作和更加有效的屬性提取功能。

3.1 datetime模塊中定義的類

datetime模塊中定義的類(這些類的對象都是不可變的):

  • datetime.date: 表示日期,常用的屬性有year、month和day
  • datetime.time: 表示時間,常用的屬性有hour、minute、second和microsecond
  • datetime.datetime: 表示日期時間
  • datetime.timedelta: 表示兩個date、time和datetime實例之間的時間間隔,最小單位可達微秒
  • datetime.tzinfo: 時區相關對象的抽象基類,由time和datetime類使用
  • datetime.timezone: Python3.2中新增的功能,實現tzinfo抽象基類的類,表示與UTC的固定偏移量

3.2 使用datetime模塊中的datetime類將時間戳轉換為格式化時間字符串

使用datetime類將時間戳轉換為datetime實例

?

>>> import time >>> from datetime import datetime >>> dt = datetime.fromtimestamp(time.time()) >>> dt datetime.datetime(2019, 2, 26, 15, 27, 28, 678923)

?

datetime實例轉換為格式化字符串

>>> dt.strftime('%Y-%m-%d %H:%M:%S') '2019-02-26 15:27:28'

?

3.3 使用datetime模塊中的datetime類將格式化時間字符串轉換為時間戳

使用datetime類將格式化字符串'2019-02-26 15:27:28'轉換為datetime實例

>>> st = '2019-02-26 15:27:28' >>> dt = datetime.strptime(st, '%Y-%m-%d %H:%M:%S') >>> dt datetime.datetime(2019, 2, 26, 15, 27, 28)

datetime實例轉轉為元組(struct_time)

>>> tp = dt.timetuple()
>>> tp
time.struct_time(tm_year=2019, tm_mon=2, tm_mday=26, tm_hour=15, tm_min=27, tm_sec=28, tm_wday=1, tm_yday=57, tm_isdst=-1)

元組(struct_time)轉換為時間戳

>>> time.mktime(tp) 1551166048.0

也可以直接使用datetime實例的timestamp()函數直接獲取時間戳:

>>> dt.timestamp() 1551166048.0

?

3.4 使用datetime類獲取當前日期和時間

使用datetime類獲取當前日期

>>> datetime.now().date().strftime('%Y-%m-%d') '2019-02-26'

?

使用datetime類獲取當前時間

>>> datetime.now().time().strftime('%H:%M:%S') '15:48:43'

?

4. 參考資料

  • Python time模塊詳解
  • Python datetime模塊詳解
  • Python time模塊和datetime模塊詳解

轉載于:https://www.cnblogs.com/strivepy/p/10436213.html

總結

以上是生活随笔為你收集整理的Python 日期和时间戳的转换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。