模組 time datetime 時間獲取和處理

2022-06-08 03:42:08 字數 4354 閱讀 6965

和時間有關係的我們就要用到時間模組。在使用模組之前,應該首先匯入這個模組。

(執行緒)推遲指定的時間執行。單位為秒。
獲取當前時間戳
通常來說,時間戳表示的是從2023年1月1日00:00:00開始按秒計算的偏移量。我們執行「type(time.time())」,返回的是float型別。

『1999-12-06』

%y 兩位數的年份表示(00-99)

%y 四位數的年份表示(000-9999)

%m 月份(01-12)

%d 月內中的一天(0-31)

%h 24小時制小時數(0-23)

%i 12小時制小時數(01-12)

%m 分鐘數(00=59)

%s 秒(00-59)

%a 本地簡化星期名稱

%a 本地完整星期名稱

%b 本地簡化的月份名稱

%b 本地完整的月份名稱

%c 本地相應的日期表示和時間表示

%j 年內的一天(001-366)

%p 本地a.m.或p.m.的等價符

%u 一年中的星期數(00-53)星期天為星期的開始

%w 星期(0-6),星期天為星期的開始

%w 一年中的星期數(00-53)星期一為星期的開始

%x 本地相應的日期表示

%x 本地相應的時間表示

%z 當前時區的名稱

%% %號本身

struct_time元組共有9個元素共九個元素:(年,月,日,時,分,秒,一年中第幾周,一年中第幾天等)

索引(index)

屬性(attribute)

值(values)

0tm_year(年)

比如2011

1tm_mon(月)

1 - 12

2tm_mday(日)

1 - 31

3tm_hour(時)

0 - 23

4tm_min(分)

0 - 59

5tm_sec(秒)

0 - 60

6tm_wday(weekday)

0 - 6(0表示周一)

7tm_yday(一年中的第幾天)

1 - 366

8tm_isdst(是否是夏令時)

預設為0

首先,我們先導入time模組,來認識一下python中表示時間的幾種格式:

#匯入時間模組

>>>import time

#時間戳

>>>time.time()

1500875844.800804

#時間字串

>>>time.strftime("%y-%m-%d %x")

'2017-07-24 13:54:37'

>>>time.strftime("%y-%m-%d %h-%m-%s")

'2017-07-24 13-55-04'

#時間元組:localtime將乙個時間戳轉換為當前時區的struct_time

time.localtime()

time.struct_time(tm_year=2017, tm_mon=7, tm_mday=24,

tm_hour=13, tm_min=59, tm_sec=37,

tm_wday=0, tm_yday=205, tm_isdst=0)

小結:時間戳是計算機能夠識別的時間;時間字串是人能夠看懂的時間;元組則是用來操作時間的

format string(字串) struct_time(元祖結構化時間) timestamp(時間戳)

format string--- strptime --> struct_time --- mktime --> timestamp

format string<-- strptime --- struct_time <-- localtime(gmtime) --- timestamp

#時間戳-->結構化時間

#time.gmtime(時間戳) #utc時間,與英國倫敦當地時間一致

#time.localtime(時間戳) #當地時間。例如我們現在在北京執行這個方法:與utc時間相差8小時,utc時間+8小時 = 北京時間

>>>time.gmtime(1500000000)

time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=2, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=0)

>>>time.localtime(1500000000)

time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=10, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=0)

#結構化時間-->時間戳 

#time.mktime(結構化時間)

>>>time_tuple = time.localtime(1500000000)

>>>time.mktime(time_tuple)

1500000000.0

#結構化時間-->字串時間

#time.strftime("格式定義","結構化時間") 結構化時間引數若不傳,則顯示當前時間

>>>time.strftime("%y-%m-%d %x")

'2017-07-24 14:55:36'

>>>time.strftime("%y-%m-%d",time.localtime(1500000000))

'2017-07-14'

#字串時間-->結構化時間

#time.strptime(時間字串,字串對應格式)

>>>time.strptime("2017-03-16","%y-%m-%d")

time.struct_time(tm_year=2017, tm_mon=3, tm_mday=16, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=75, tm_isdst=-1)

>>>time.strptime("07/24/2017","%m/%d/%y")

time.struct_time(tm_year=2017, tm_mon=7, tm_mday=24, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=205, tm_isdst=-1)

format string(字串) struct_time(元祖結構化時間) timestamp(時間戳)

struct_time - asctime -> format string < - ctime - timestamp

#結構化時間 --> %a %b %d %h:%m:%s %y串

#time.asctime(結構化時間) 如果不傳引數,直接返回當前時間的格式化串

>>>time.asctime(time.localtime(1500000000))

'fri jul 14 10:40:00 2017'

>>>time.asctime()

'mon jul 24 15:18:33 2017'

#時間戳 --> %a %b %d %h:%m:%s %y串

#time.ctime(時間戳) 如果不傳引數,直接返回當前時間的格式化串

>>>time.ctime()

'mon jul 24 15:19:07 2017'

>>>time.ctime(1500000000)

'fri jul 14 10:40:00 2017'

import time

true_time=time.mktime(time.strptime('2017-09-11 08:30:00','%y-%m-%d %h:%m:%s'))

time_now=time.mktime(time.strptime('2017-09-12 11:00:00','%y-%m-%d %h:%m:%s'))

dif_time=time_now-true_time

struct_time=time.gmtime(dif_time)

print('過去了%d年%d月%d天%d小時%d分鐘%d秒'%(struct_time.tm_year-1970,struct_time.tm_mon-1,struct_time.tm_mday-1,struct_time.tm_hour,struct_time.tm_min,struct_time.tm_sec))

時間模組 time datetime

時間戳 當前時間距離1970.1.1凌晨共多少秒 元組 year month dayhours minuts senconds weekday julia day 儒略日天文學家在使用 時間格式化 y 四位數年份表示 m 月份 d 天 h 24小時制 i 12小時制 m 分鐘數 s 秒數 f 毫秒 ...

python中的time datetime模組

使用time模組中的time 函式可以獲取當前時間的時間戳。當前的時間戳應為1970年1月1日到函式執行時的秒數值。例如,import time 匯入time模組 t1 time.time print t1 執行結果如下,1582457981.234377記得要匯入time模組。1.2.1.時間戳轉...

python中time datetime模組的使用

如果您從事過python web的開發,那一定有過這樣的經歷,對於各種複雜繁瑣的業務邏輯,摻雜著各種各樣的時間約束,讓人很容易搞的頭暈眼花,比如展示出一天內使用者進行過的所有操作記錄,再比如進行驗證碼驗證時獲取當前時間與驗證碼生成時間進行比較,檢查是否超過10分鐘過期時間之類。這些關於時間的業務邏輯...