獲取到時間也是我們在學(xué)習(xí)python遇到的常見問題,根據(jù)不同的需求,獲取的方式也有所不同,下面針對獲取的幾個場景,給大家整理出來幾個方式。
一、時間日期基本介紹
時間日期類型在Python中主要有兩個模塊:time模塊和datetime模塊
time模塊:是基于UnixTimestamp(時間戳)實(shí)現(xiàn)的,所能表述的范圍被限定在1970-2038年之間;
時間戳:是指格林尼治時間1970年01月01日00時00分00秒起至現(xiàn)在的總秒數(shù),結(jié)果是一個浮點(diǎn)數(shù)。
二、時間日期類型--time模塊
1.獲取當(dāng)前時間戳
print(time.time())
示例:獲取一個程序執(zhí)行了多少秒
importtime
start_time=time.time()
sum=0
foriinrange(1000000):
sum+=i
end_time=time.time()
print("程序執(zhí)行了%f秒"%(end_time-start_time))
輸出結(jié)果:
程序執(zhí)行了0.128733秒
2.將時間戳轉(zhuǎn)化為標(biāo)準(zhǔn)時間日期格式
通過時間元組進(jìn)行轉(zhuǎn)換,使用time.localtime(時間戳)把獲取的時間戳轉(zhuǎn)為當(dāng)?shù)氐臅r間元組,使用time.gmtime(時間戳)把獲取的時間戳轉(zhuǎn)為格林尼治時間元組;如果不加參數(shù),默認(rèn)為當(dāng)前時間戳。
importtime
time_tuple=time.localtime(time.time())
print("當(dāng)前時間為{}年{}月{}日{(diào)}點(diǎn){}分{}秒".format(time_tuple[0],time_tuple[1],time_tuple[2],time_tuple[3],time_tuple[4],time_tuple[5]))
3.格式化時間
(1)以(RPC)標(biāo)準(zhǔn)時間格式輸出時間
time.asctime(time.localtime())#參數(shù)為時間元組
time.ctime(time.time())#參數(shù)為浮點(diǎn)數(shù)時間戳
輸出結(jié)果:ThuJun2510:31:482020
(2)以time.strftime()格式化時間
#格式化成2020-06-2511:18:29形式
print(time.strftime("%Y-%m-%d%H:%M:%S",time.localtime()))
#格式化成ThuJun2511:18:292020形式
print(time.strftime("%a%b%d%H:%M:%S%Y",time.localtime()))
注意:strftime語句中時間格式化符號中是不能包含中文的,如果想輸出中文,還是通過上面%語句輸出或者format格式輸出。
三、time模塊案例演示
示例:2008年8月8日,20:08:08往后88,888,888秒是哪天?星期幾?
importtime
#time.mktime()方法可以把時間元組轉(zhuǎn)為時間戳
tuple01=(2008,8,8,20,8,8,0,0,0)
#待求時間戳
time01=time.mktime(tuple01)+88888888
#待求時間元組
tuple02=time.localtime(time01)
#打印結(jié)果
print("結(jié)果:",time.strftime("%Y-%m-%d%H:%M:%S",tuple02),end="\t")
tuple_week=("星期一","星期二","星期三","星期四","星期五","星期六","星期天")
print(tuple_week[tuple02[6]])
輸出結(jié)果:
結(jié)果:2011-06-0315:29:36星期五
四、datetime模塊基本使用
1.date類
獲取今天的日期
date01=datetime.date.today()
返回的結(jié)果是2020-06-26可以對年、月、日各個屬性單獨(dú)訪問:
print("年份",date01.year)
print("月份",date01.month)
print("日期",date01.day)
2.time類
time類可以直接定義當(dāng)前的時間,精確到微秒
time01=datetime.time(8,23,2,121212)
可以對時、分、秒、微秒各個屬性單獨(dú)訪問:
print("時",time01.hour)
print("分",time01.minute)
print("秒",time01.second)
print("微秒",time01.microsecond)
3.datetime類
獲取日期和時間(年份、月份、日期、時分、秒、微秒、時區(qū))
datetime01=datetime.datetime.now()
五、datetime基本使用
1.獲取當(dāng)前時間
fromdatetimeimportdatetime
print(datetime.now())#獲取當(dāng)前日期時間
print(datetime.today())#獲取當(dāng)前時間
print(datetime.utcnow())#獲取當(dāng)前的格林尼治時間
輸出結(jié)果:
2020-06-2616:35:43.928699
2020-06-2616:35:43.928732
2020-06-2608:35:43.928741
2.獲取當(dāng)前日期時間的日期和時間
fromdatetimeimportdatetime
dt01=datetime.today()
print(dt01.date())
print(dt01.time())
輸出結(jié)果:
2020-06-26
16:35:43.929583
獲取日期時間的年、月、日、時、分、秒、微秒
fromdatetimeimportdatetime
dt01=datetime.today()
print(dt01.year)
print(dt01.month)
print(dt01.day)
print(dt01.hour)
print(dt01.minute)
print(dt01.second)
print(dt01.microsecond)
輸出結(jié)果:
2020
6
26
16
35
43
929583
以上內(nèi)容為大家介紹了python獲取當(dāng)前時間日期有哪些方法?希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。