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

歡迎訪問 生活随笔!

生活随笔

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

python

Python笔记:日期时间获取与转换

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

世界時(Universal Time, UT)是根據地球自轉周期確定的時間,1s為全年內每日平均長度的1/86400,由于地球繞太陽公轉的軌道不是圓的,地球與太陽之間的距離不是固定的,導致太陽相對繞地球的周期不等于地球自轉周期,通過對產生的時差進行修正,稱為“平均太陽時”。根據國際協定,將英國格林威治所在子午圈(又稱本初子午線)的平太陽時,定義為零類世界時(UT0)。由于地球的旋轉軸會有微小移動(每年有幾厘米的移動),對極移效應進行修正后的時間稱為為一類世界時UT1。一類世界時UT1也有原因不明的季節性周期變化,對此進行修正,便得到更加均勻的二類世界時UT2。

原子時

原子時鐘是利用銫原子振蕩周期極為規律的特性研制而出,原子時(international atomic time,TAI)的秒長定義為銫 -133 原子能級躍遷輻射9192631770周所持續的時間。原子鐘的精度可以達到每100萬年誤差才1秒。在要求更高時間精度的天文、航海、航天等領域發揮了巨大的作用。

世界協調時

世界協調時(Coordinatde Universal Time, UTC)基于國際原子時,以原子時秒長為基礎,在時刻上盡量接近于格林威治標準時間(GMT),通過不規則的加入閏秒來抵消地球自轉變慢的影響,保證UTC與世界時(UT1)相差不超過0.9秒。

epoch time

Unix epoch (Unix time, POSIX time, Unix timestamp),是一種時間表示方式,定義為從格林威治時間1970年01月01日00時00分00秒起至現在的總秒數。Unix時間戳不僅被使用在Unix 系統、類Unix系統中,也在許多其他操作系統中被廣泛采用。

2038問題

32位操作系統將epoch日期存儲為有符號的32位整數,此類系統的Unix時間戳最多可以使用到格林威治時間2038年01月19日03時14分07秒(二進制:01111111 11111111 11111111 11111111)。其后一秒,二進制數字會變為10000000 00000000 00000000 00000000,發生溢出錯誤,造成系統將時間誤解為1901年12月13日20時45分52秒。這很可能會引起軟件故障,甚至是系統癱瘓(稱為2038年問題或者Y2038)。

使用64位二進制數字表示時間的系統(最多可以使用到格林威治時間292,277,026,596年12月04日15時30分08秒)則基本不會遇到這類溢出問題。

python time

時間格式在線轉換: https://www.epochconverter.com/

時區轉換

國際時區轉換在線計算器
世界時區劃分時差查詢
Python time文檔:https://docs.python.org/zh-cn/3/library/time.html

python獲取當前時間

  • time.time():獲取當前的epoch時間(時間戳)
  • time.localtime():獲取本地時間
  • time.gmtime():獲取GMT時間
>> import time; >> time.time() 1612661504.1785676 >> time.localtime() time.struct_time(tm_year=2021, tm_mon=2, tm_mday=7, tm_hour=11, tm_min=23, tm_sec=20, tm_wday=6, tm_yday=38, tm_isdst=0)

標準時間轉換為epoch時間

本文將標準時間定義為ISO 8601格式時間:YYYY-MM-DD hh:mm:ss.mil

兩種方法轉換為 Unix timestamp:

  • calendar.timegm:轉換的時間格式為格林威治標準時間
  • time.mktime:轉換的時間為本地時間(考慮了時區)
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' >> import calendar, time >> date_time = time.strptime('2000-01-01 12:34:00', '%Y-%m-%d %H:%M:%S') >> calendar.timegm(date_time) 946730040 >> time.mktime(date_time) 946701240.0

epoch時間轉換為標準時間

  • time.localtime(epoch_time):轉換為本地時間,或者獲取本地時間
  • time.gmtime(epoch_time):轉換為GMT時間,或者獲取GMT時間
  • datetime.datetime.utcfromtimestamp(epoch_time):UTC時間
  • datetime.datetime.fromtimestamp(epoch_time):本地時間
>> import time >> epoch_time = 946730040 >> time.strftime("%a, %d %b %Y %H:%M:%S", time.localtime(epoch_time)) 'Sat, 01 Jan 2000 20:34:00' >> time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(epoch_time)) '2000-01-01 20:34:00' >> time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(epoch_time)) '2000-01-01 12:34:00' >> import datetime >>> datetime.datetime.fromtimestamp(epoch_time) datetime.datetime(2000, 1, 1, 20, 34) >>> datetime.datetime.utcfromtimestamp(epoch_time) datetime.datetime(2000, 1, 1, 12, 34)

python datetime
獲取當前時間(本地時間)

''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' import datetime now_time = datetime.datetime.now() print(now_time.strftime("%Y-%m-%d %H:%M:%S")) print(now_time.strftime("%A")print(now_time.strftime("%w")

out:

2020-09-28 14:15:24 Monday 1

時間格式化

import datetime timestr = "2020-10-01 18:30:00" print(datetime.datetime.strptime(timestr, "%Y-%m-%d %H:%M:%S"))

out:

2020-10-01 18:30:00

timedelta

timedelta表示一個時間段,可用于時間計算。

語法:

datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0) import datetime now_time = datetime.datetime.now() # 當前時間加一天 now_time + datetime.timedelta(days=1) # 當前時間減一周 now_time + datetime.timedelta(weeks=-1)

總結

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

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