python中time datetime模組的使用

2022-09-28 02:42:12 字數 2244 閱讀 1930

如果您從事過python web的開發,那一定有過這樣的經歷,對於各種複雜繁瑣的業務邏輯,摻雜著各種各樣的時間約束,讓人很容易搞的頭暈眼花,比如展示出一天內使用者進行過的所有操作記錄,再比如進行驗證碼驗證時獲取當前時間與驗證碼生成時間進行比較,檢查是否超過10分鐘過期時間之類。這些關於時間的業務邏輯,要求我們必須能熟練掌握python中關於時間的兩個模組,time和datetime,只有用好了這兩個模組,我們才能在**中輕鬆自如的應對。

time模組中時間表現的格式主要有三種:

import time

print(time.time()) # 當前時間戳

>>> 1569645479.6079931

print(int(time.time()))

>>> 1569645479

print(time.strftime('%y-%m-%d %h:%m:%s')) # 格式化的時間

>>> 2019-09-28 12:37:59

print(time.strftime('%y-%m-%d'))

>>> 2019-09-28

print(time.strftime('%h:%m:%s'))

>>> 12:37:59

print(time.gmtime()) # 獲取標準時區的時間元組,如果傳入了時間戳,就是把時間戳轉換成時間元組

>>> time.struct_time(tm_year=2019, tm_mon=9, tm_mday=28, tm_hour=4, tm_min=37, tm_sec=59, tm_wday=5, tm_yday=271, tm_isdst=0)

print(time.gmtime(1569645453))

>>> time.struct_time(tm_year=2019, tm_mon=9, tm_mday=28, tm程式設計客棧_hour=4, tm_min=37, tm_sec=33, tm_wday=5, tm_yday=271, tm_isdst=0)

# 使用時間戳獲取**執行時間

s_time = time.time()

for i in range(0,10):

time.sleep(1)

e_time = time.time()

print('**執行時間是:', e_tiayktcoktime-s_time)

>>> **執行時間是: 10.003105163574219

# 字串格式化時間轉換時間戳

str_time = '2019-9-28'

print(time.mktime(time.strptime(str_time, '%y-%m-%d')))

>>> 1569600000.0

# 時間戳轉換成格式化的時間字串

gsh_time = time.time()

print(time.strftime('%y-%m-%d', time.localtime(gsh_time)))

>>> 2019-09-28

datatime模組重新封裝了time模組,提供更多程式設計客棧介面,提供的類有:date,time,datetime,timedelta,tzinfo。

import datetime

now = datetime.datetime.now()

print(now)

>>> 2019-09-28 12:45:59.927901

now = datetime.datetime.now()

d1 = now - datetime.timedelta(hours=1) # 獲取前一小時

d2 = now - datetime.timedelta(days=1) # 獲取前一天

print(now)

>>> 2019-09-28 12:47:56.662933

print(d1)

>>> 2019-09-28 11:47:56.662933

print(d2)

>>> 2019-09-27 12:47:56.662933

# datetime物件轉換成時間戳

dt = datet

print(time.mktime(dt.timetuple()))

>>> 1569646475.0

# 時間戳轉換成datetime物件

sjc_time = time.time()

print(datetime.datetime.fromtimestamp(sjc_time))

>&> 2019-09-28 12:55:05.500752

時間模組 time date

在python中,常用的表示方式的時間有 時間戳,字串時間,元組時間 既年,月,日,時,分,秒,週幾,一年中的第幾天,時區 time模組 time.timezone 獲取當前標準時區和utc時間的差值,單位是秒 time.altzone 獲取當前dst 夏令時 時區和utc時間的差值,單位是秒 ti...

PHP的time()date()函式引數詳解

time 在php中是得到乙個數字,這個數字表示從1970 01 01到現在共走了多少秒,很奇怪吧 不過這樣方便計算,要找出前一天的時間就是 time 60 60 24 要找出前一年的時間就是 time 60 60 24 365 那麼如何把這個數字換成日期格式呢,就要用到date函式了 t time...

Time Date時間轉換和格式化輸出

1.格式化輸出 那麼最常用到的應該是 ruby datetime.parse time.now.to s strftime y m d h m s to s 就是按照2009 5 14 8 42 13的給定格式輸出 datetime.parse time.now.to s strftime y m ...