指令碼 計算上班時間的演算法

2021-09-29 09:52:00 字數 1219 閱讀 4556

所謂上班時間是指從上班到下班的時間裡,能夠被算作工時的那部分時間總和。

從上班到下班之間至少有乙個時間段是不算工作時間的,即中午的休息時間,一般是12:00-14:00,如果晚上有加班,則傍晚的16:00-19:00也不算工作時間。

而上班時間可以從一天之中的任何時段開始,需要根據不同的上下班情況來累積上班時間。

設定a為按起始順序排序的、且任意兩個區間沒有時間交集的非工作時間段列表

設start,end分別為上下班的時間(以分鐘為單位),則計算上下班的演算法如下:

# 通過遍歷跳過非工作時間進行工作時間的累加

calculate(a,start,end)

:if end < start:

# 如果是次日凌晨下班,則需要調整分鐘時間

end = end +24*

60sum=0

error =

false

completed =

false

for rangetime in a:

rangestart,rangeend = rangetime

# validate

if rangeend < rangestart:

error =

true

break

if start >= rangestart:

if end <= rangeend:

# 沒有更多有效區間

completed =

true

break

if start < rangeend:

start = rangeend

continue

if end <= rangestart:

sum=

sum+ end - start

completed =

true

break

sum+= rangestart - start

start = rangeend

if start >= end:

completed =

true

break

ifnot error:

ifnot completed and end >= start:

sum=

sum+ end - start

return

sumreturn

-1

5 員工上班時間的問題 CEO之公司管理經驗談

員工上班時間一般是根據公司的規章制度來制定的。當然,在不同的地點也有不同的做法。比如北京 上海 廣州 深圳這些重點的大點的城市,加班的時間就相對比較多一些。但是按照筆者的想法,一般是一天7 8小時工作時間,但是如果個人工作已經完成,可以提早下班,時間隨意,更人性化。前天在乙個it群裡和朋友聊天,有人...

計算shell指令碼的執行時間

有時候可能需要計算 shell 指令碼 執行了多久,怎麼統計這個指令碼 執行多長時間呢?直接看 bin bash start time date date 0 days ago y m d h m s this is your shell script sleep 18 finish time da...

計算python指令碼執行時間的坑

程式執行時間 cpu時間 io時間 休眠或者等待時間 python程式執行時間大於python程式cpu時間 time.clock import datetime import time starttime time.clock time.sleep 3 endtime time.clock pri...