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

2021-10-07 00:16:39 字數 1907 閱讀 3025

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

import sys

import re

from dateutil.parser import parse

import pandas as pd

#cmp=com.transsion.camera/com.android.camera.cameralauncher 行開始時間

#previewstarted start 行結束時間

#a = parse('2019-10-30 23:43:10.123')

#filename = r'd:\log\log.txt'

class time_treatment():

def __init__(self):

self.gaptime()

def parameterre(self, pattern, line):

rule = re.compile(pattern)

result = rule.search(line)

if result:

return result.groups()

else:

return none

def gaptime(self):

file = sys.ar**[1]

df_file =

with open(file,'rb') as read_line:

for line in read_line:

dict = {}

gaptime =

time =

tag =

start_time = none

end_time = none

for line in df_file:

start = 'cmp=com.transsion.camera/com.android.camera.cameralauncher'

end = 'previewstarted start'

if start in line:

re = self.parameterre(r'(\d+-\d+ \d+:\d+:\d+\.\d+).*', line)

start_time=parse(re[0])

elif end in line:

re = self.parameterre(r'(\d+-\d+ \d+:\d+:\d+\.\d+).*', line)

end_time = parse(re[0])

if start_time:

if end_time:

gap = str(end_time-start_time)

for i in gaptime:

if i.find(',') >0:

gaptime.remove(i)

dict =

self.df_time = pd.dataframe.from_dict(dict)

#print(self.df_time)

self.df_time.to_excel('./gaptime.xlsx')

if self.df_time:

print('-------------done-------------')

else:

print('-------------不存在要解析的資訊-------------')

if __name__ == "__main__":

df = time_treatment()

重點是用parse將字串格式轉換為時間格式,然後做加減處理。

其中關於結束點的時間減去開始的時間,演算法還是有點問題的,會多出來乙個計算,暫時留著這個bug

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量化基礎之時間處理

掌握python內建時間模組time datetime的基本操作即可 基於python3.7.0 import timetime.time 當前系統時間戳,1970 1 1 00 00 00開始計秒 out 3 1543932089.671177 浮點型time.localtime 不帶引數返回當前...