time模塊
一、時間的三種表示形式:
1.時間戳(time stamp):從1970年到此刻的秒數。
2.格式化的字符串(format string):支持自定義格式,如下表所示
%a |
星期幾的簡寫,如Wed。 |
|
%A |
星期幾的全寫,如Wednesday。 |
|
%b |
月份簡寫,如Aug。 |
|
%B |
月的全寫,如August。 |
|
%c |
適當的日期時間表示,如Wed Aug 15 10:36:41 2018。 |
|
%d |
十進制數的月份中的一天[01,31],如15(現在爲8月15日)。 |
|
%H |
小時(24小時制)。 |
|
%I |
小時(12小時制)。 |
|
%j |
表示今天是當年的第n天。 |
|
%m |
月份。 |
|
%M |
分鐘。 |
|
%p |
AM(上午)或PM(下午)。 |
(1) |
%S |
秒。 |
(2) |
%U |
表示今年的第n周,星期天是第一天。(新的一年的第一個星期天之前是第0周) |
(3) |
%w |
用十進制表示今天是星期3。 |
|
%W |
表示今年的第n周,星期一是第一天。 |
(3) |
%x |
區域設置的適當日期表示形式。(新的一年的第一個星期一之前是第0周) |
|
%X |
適宜的時間表示,如10:36:41。 |
|
%y |
無世紀年份,如18(年)。 |
|
%Y |
有世紀年份,如2018(年)。 |
|
%z |
時區偏移,表示與UTC/GMT格式+HHMM或-HHMM的正負時差,其中H表示十進制小時數,M表示十進制分鐘數。 |
|
%Z |
時區名稱(如果沒有時區,則沒有字符)。 |
|
%% |
輸出% |
|
3.struct_time元祖格式,共9個元素:
tm_year :年
tm_mon :月(1-12)
tm_mday :日(1-31)
tm_hour :時(0-23)
tm_min :分(0-59)
tm_sec :秒(0-59)
tm_wday :星期幾(0-6,0表示週日)
tm_yday :一年中的第幾天(1-366)
tm_isdst :是否是夏令時(默認爲-1)
插入一張圖,表示3個表示方法之間的轉換:
二、內置方法:
time.time() #獲取時間戳
time.sleep(1) #停止1秒
time.gmtime() #返回一個表示utc時間(標準時間)(相對於中國早8小時)的元祖,傳入時間戳轉換到標準時間
time.localtime() #傳入時間戳,返回本地時間。
time.localtime().tm_year #取出年份
time.mktime() #把元祖形式的轉換成時間戳形式
time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) #格式化字符串表示時間
time.strptime('2018-08-14 13:35:17',"%Y-%m-%d %H:%M:%S") #按格式轉換回元祖類型
time.asctime() #傳入元祖格式的時間,默認當前時間,返回字符串'%a %b %d %H:%M:%S %Y'表示的時間
time.ctime() #傳入時間戳,轉換成字符串'%a %b %d %H:%M:%S %Y'表示時間
datetime模塊
用法和time模塊差不多,區別在於函數寫法不同:
datetime.datetime.now() #獲取當前時間
datetime.datetime.now() + datetime.timedelta(3) #三天後時間
datetime.datetime.now().replace(minute=3, hour= 4) #獲取時間後修改時間