您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python time時間格式化和設(shè)置時區(qū)的方法是什么”,在日常操作中,相信很多人在Python time時間格式化和設(shè)置時區(qū)的方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python time時間格式化和設(shè)置時區(qū)的方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
import timet = 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))
import timeimport datetimetime_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)))
Python提供了多個內(nèi)置模塊用于操作日期時間,像calendar,time,datetime。time模塊我在之前的文章已經(jīng)有所介紹,它提供 的接口與C標準庫time.h基本一致。相比于time模塊,datetime模塊的接口則更直觀、更容易調(diào)用。今天就來講講datetime模塊。
datetime模塊定義了兩個常量:datetime.MINYEAR和datetime.MAXYEAR,分別表示datetime所能表示的最 小、最大年份。其中,MINYEAR = 1,MAXYEAR = 9999。(對于偶等玩家,這個范圍已經(jīng)足夠用矣~~)
datetime模塊定義了下面這幾個類:
datetime.date:表示日期的類。常用的屬性有year, month, day;
datetime.time:表示時間的類。常用的屬性有hour, minute, second, microsecond;
datetime.datetime:表示日期時間。
datetime.timedelta:表示時間間隔,即兩個時間點之間的長度。
datetime.tzinfo:與時區(qū)有關(guān)的相關(guān)信息。
注 :上面這些類型的對象都是不可變(immutable)的。
下面詳細介紹這些類的使用方式。
date類
date類表示一個日期。日期由年、月、日組成(地球人都知道~~)。date類的構(gòu)造函數(shù)如下:
class datetime.date(year, month, day):參數(shù)的意義就不多作解釋了,只是有幾點要注意一下:
year的范圍是[MINYEAR, MAXYEAR],即[1, 9999];
month的范圍是[1, 12]。(月份是從1開始的,不是從0開始的~_~);
day的最大值根據(jù)給定的year, month參數(shù)來決定。例如閏年2月份有29天;
date類定義了一些常用的類方法與類屬性,方便我們操作:
date.max、date.min:date對象所能表示的最大、最小日期;
date.resolution:date對象表示日期的最小單位。這里是天。
date.today():返回一個表示當前本地日期的date對象;
date.fromtimestamp(timestamp):根據(jù)給定的時間戮,返回一個date對象;
datetime.fromordinal(ordinal):將Gregorian日歷時間轉(zhuǎn)換為date對象;(Gregorian Calendar :一種日歷表示方法,類似于我國的農(nóng)歷,西方國家使用比較多,此處不詳細展開討論。)
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)
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):生成一個新的日期對象,用參數(shù)指定的年,月,日代替原有對象中的屬性。(原有對象仍保持不變)
date.timetuple():返回日期對應(yīng)的time.struct_time對象;
date.toordinal():返回日期對應(yīng)的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中已經(jīng)出現(xiàn)過,在此有類似的意義,這里只羅列這些方法名,具體含義不再逐個展開介紹,可以參考上文對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對象進行比較,或者相減返回一個時間間隔對象,或者日期時間加上一個間隔返回一個新的日期時間對象。
到此,關(guān)于“Python time時間格式化和設(shè)置時區(qū)的方法是什么”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。