python量化基礎之時間處理

2021-09-02 15:30:30 字數 2845 閱讀 8675

掌握python內建時間模組time、datetime的基本操作即可

基於python3.7.0

import time
time.time(

)# 當前系統時間戳,1970/1/1 00:00:00開始計秒

out[3]

:1543932089.671177

# 浮點型

time.localtime(

)# 不帶引數返回當前時間元組

out[5]

: time.struct_time(tm_year=

2018

, tm_mon=

12, tm_mday=4,

tm_hour=

22, tm_min=

8, tm_sec=

16,

tm_wday=

1, tm_yday=

338, tm_isdst=0)

# tm_year :年

# tm_mon: 月

# tm_mday: 日

# tm_hour: 小時

# tm_min: 分鐘

# tm_sec: 秒

# tm_wday: 一周的第幾天

# tm_yday: 一年的第幾天

# tm_isdst:夏令時吧,中國取消了,不用管這乙個引數。

isinstance

(time.localtime(),

tuple

)out[18]

:true

# 知道為啥叫時間元組了吧

time.localtime() 可以接受引數嗎?可以!你覺得能接受怎樣的引數?當然是時間戳啦

time.localtime(

100000000

)# 引數為某個時間戳

out[19]

: time.struct_time(tm_year=

1973

, tm_mon=

3, tm_mday=3,

tm_hour=

17, tm_min=

46, tm_sec=40,

tm_wday=

5, tm_yday=

62, tm_isdst=

0)

time.strftime(

"%y-%m-%d %h:%m:%s"

, time.localtime())

# 格式化時間元組,你的順序和個數可以依據格式化字元來進行調整

out[20]

:'2018-12-04 22:46:16'

# 字串

必須知道的格式化字元!,也就是剛剛用到的,其他的遇到再查就可以了。

到這裡,我們已經可以形成乙個可以日常使用的時間處理邏輯了。

時間戳 ---- localtime() ---->> 時間元組 ---- strftime() ---->> 格式化時間

思考下,我們怎麼從右邊把這乙個過程實現一遍呢?

時間戳 <<---- mktime() ---- 時間元組 <<---- strptime() ---- 格式化時間

time.strptime(

'2018-12-04 22:46:16'

,'%y-%m-%d %h:%m:%s'

)out[26]

: time.struct_time(tm_year=

2018

, tm_mon=

12, tm_mday=4,

tm_hour=

22, tm_min=

46, tm_sec=

16,

tm_wday=

1, tm_yday=

338, tm_isdst=-1

)# 這是格式化字元一定要一一對應!!!如果沒有後面的22:46:16,那麼%h:%m:%s也沒有

time.strptime(

'2018-12-04'

,'%y-%m-%d'

)out[27]

: time.struct_time(tm_year=

2018

, tm_mon=

12, tm_mday=4,

tm_hour=

0, tm_min=

0, tm_sec=0,

tm_wday=

1, tm_yday=

338, tm_isdst=-1

)

a = time.strptime(

'2018-12-04'

,'%y-%m-%d'

)time.mktime(a)

out[28]

:1543852800.0

掌握時間的加減即可,因為我們已經擁有了利用time模組進行基本時間轉換的完整邏輯

import datetime
a = datetime.datetime.now(

)print

(a)out[8]

:2018-12

-0515:

23:28.996803

b = a - datetime.timedelta(days=1)

# 接受**kwargs:days,hours,seconds

print

(b)2018-12

-0415:

25:40.543942

Python之時間處理

一.關於時間幾種常用的處理方法 time包和datetime包 1 引入time包,import time 1.獲取從1970年到現在的秒數,至於為什麼從1970年開始這裡就不過多闡述了 我不會告訴你其實我也不知道 timeline time.time print timeline 輸出結果 153...

python之時間處理模組

time模組 處理日期和時間函式 from datetime import datetime 獲取當前的時間 current datetime.now 獲取今天的時間 today datetime.today 建立乙個時間 create time datetime 2020,12 31,15 30 ...

Python 關於時間處理之時間相減

遇到一些需求,將某個檔案中的時間進行相加減的操作,這裡用到的是 from dateutil.parser import parse,可以將字串形式的時間,進行相加減,如下 import sys import re from dateutil.parser import parse import pa...