您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python時間數據類型的模塊有哪些”,在日常操作中,相信很多人在Python時間數據類型的模塊有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python時間數據類型的模塊有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
Python中表示時間類型的數據結構為時間數據類型;
import time # 獲取當前時間的時間戳 print(time.time()) #輸出:1548742426.1698806 # 返回當前時間的元組 t = time.localtime() print(t) #輸出:time.struct_time(tm_year=2019, tm_mon=1, tm_mday=29, tm_hour=14, tm_min=14, tm_sec=17, tm_wday=1, tm_yday=29, tm_isdst=0) # 將當前時間元組轉變為字符串 print(time.asctime(time.localtime())) #輸出:Tue Jan 29 14:15:51 2019 # # 格式化字符串 print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())) #輸出:2019-01-29 14:16:08 # # 將字符串轉為時間元組 print(time.strptime('2018-11-27 08:08:08', '%Y-%m-%d %H:%M:%S')) #輸出:time.struct_time(tm_year=2018, tm_mon=11, tm_mday=27, tm_hour=8, tm_min=8, tm_sec=8, tm_wday=1, tm_yday=331, tm_isdst=-1) # sleep方法, 會占用cpu時間片 print(time.sleep(5)) #5秒后輸出:None # 打印日歷 import calendar print(calendar.month(2019, 1)) #輸出:2019年1月的日歷
時間戳:就是從0時區1970年1月1日0時0分0秒,到所給定日期時間的秒數(浮點型);
時間戳獲取:使用import導入time模塊,調用time模塊的time方法,得到的時間戳如果不要小數點后面的就是秒,取后面三位小數就是毫秒,再下去三位就是微秒,一般取到毫秒就可以了;
localtime方法:返回當前時間的元組(包括年月日時分秒等);
asctime方法:將當前時間元組轉變為字符串(歐美國家的時間格式);
strftime方法:格式化字符串;
strptime方法:和strftime方法相反,用來將字符串轉為時間元組;
sleep方法:會占用cpu時間片(也就是讓整個線程暫停一些時間);
打印日歷:import導入calendar模塊,然后調用month方法;
python中的datetime模塊提供了操作日期和時間功能,該模塊提供的五種核心對象分別是:datetime(時間日期類型), date(日期類型), time(時間類 型), tzinfo(時區類型), timedelta(時間差類型);
(1) datetime類型
from datetime import datetime # 1: 構建一個指定日期和時間的datetime對象 today = datetime(year=2019,month=1,day=29,hour=14,minute=22,second=54) print(today) #輸出:2019-01-29 14:22:54 #獲取當前日期時間,輸出類型為datetime now = datetime.now() print(now,type(now)) #輸出:2019-01-29 14:23:35.408583 <class 'datetime.datetime'> d_now = datetime.now() # datetime類型轉字符串 d_str = d_now.strftime('%Y-%m-%d %H:%M:%S') print(d_str,type(d_str)) #輸出:2019-01-29 14:26:12 <class 'str'> # 字符串轉datetime類型 d_type = datetime.strptime(d_str,'%Y-%m-%d %H:%M:%S') print(d_type,type(d_type)) #輸出:2019-01-29 14:26:12 <class 'datetime.datetime'> # 計算時間戳 timestamp = d_type.timestamp() print(timestamp) #輸出:1548743501.0 # 計算時間戳 timestamp = d_type.timestamp() print(timestamp) #輸出:1548743935.0 # 通過時間戳獲取datetime對象 d_type = datetime.fromtimestamp(1543408827) print(d_type, type(d_type)) #輸出:2018-11-28 20:40:27 <class 'datetime.datetime'>
datetime類型轉字符串用strftime方法,字符串轉datetime類型用strptime方法;
timestamp方法:計算時間戳;
fromtimestamp方法:通過時間戳獲取datetime對象;
(2) date類型
from datetime import date data_today = date(year=2018, month=11, day=29) print(data_today) #輸出:2018-11-29
導入date模塊,實例化日期;
(3) time類型
from datetime import time now_time = time(hour=8, minute=30, second=10) print(now_time, type(now_time)) #輸出:20:30:10 <class 'datetime.time'>
導入time類型,實例化時間;
(4) timedelta類型
from datetime import datetime, timedelta # 時間間隔可以通過相減得到 now = datetime.now() before_datatime = datetime(year=2018, month=11, day=20, hour=8, minute=20, second=20) delta = now - before_datatime print(delta, type(delta)) #輸出:70 days, 6:22:37.340041 <class 'datetime.timedelta'> # 可以初始化時間間隔 delta_days = timedelta(days=7) print(delta_days, type(delta_days)) #輸出:7 days, 0:00:00 <class 'datetime.timedelta'> # 可以通過時間間隔得到將來的時間 future_datetime = now + delta_days print(future_datetime) #輸出:2019-02-05 14:43:54.582315
timedelta對象表示一個時間段,timedelta對象可以通過手動實例化得到,也可以通過相減得到;
(5)tzinfo類型
from datetime import datetime import pytz utc_tz = pytz.timezone('UTC') print(pytz.country_timezones('cn')) # 顯示中國時區的城市 #輸出:['Asia/Shanghai', 'Asia/Urumqi'] print(pytz.country_timezones('us')) # 顯示美國時區的城市 # #輸出:['America/New_York', 'America/Detroit', 'America/Kentucky/Louisville', 'America/Kentucky/Monticello', 'America/Indiana/Indianapolis', 'America/Indiana/Vincennes', 'America/Indiana/Winamac', 'America/Indiana/Marengo', 'America/Indiana/Petersburg', 'America/Indiana/Vevay', 'America/Chicago', 'America/Indiana/Tell_City', 'America/Indiana/Knox', 'America/Menominee', 'America/North_Dakota/Center', 'America/North_Dakota/New_Salem', 'America/North_Dakota/Beulah', 'America/Denver', 'America/Boise', 'America/Phoenix', 'America/Los_Angeles', 'America/Anchorage', 'America/Juneau', 'America/Sitka', 'America/Metlakatla', 'America/Yakutat', 'America/Nome', 'America/Adak', 'Pacific/Honolulu'] # # 獲取時區 china_tz = pytz.timezone('Asia/Shanghai') america_tz = pytz.timezone('America/New_York') # # 獲取城市本地時間 china_local_time = datetime.now(china_tz) # 東八區 america_local_time = datetime.now(america_tz) # 西五區 print(china_local_time) #輸出:2019-01-29 14:51:51.252579+08:00 print(america_local_time) #輸出:2019-01-29 14:51:51.252579+08:00
安裝pytz包:進入項目,執行pip install pytz命令;
獲取時區:pytz.timezone(地區名);
獲取城市本地時間:datetime.now(時區名)。
到此,關于“Python時間數據類型的模塊有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。