根據上下班時間(可能跨1天),利用Excel的公式計算白班時間和夜班時間
上班時間可能是這樣的: 序號 上班時間 下班時間 1 6:00 17:00 2 5:38 10:00 3 4:20 8:39 4 22:50 5:40 5 18:49 8:38 那如何區分白班和夜班的工時呢?? 倒班制的,要是員工5:30去上班 就要為他計算半個小時的夜班
問題分析:
涉及到的幾個難點:
1)需要區分白班工時還是夜班工時。
6:00-22:00 為白班工作時間,與上下班時間段存在多種關係
2)可能跨天工作。因表中儲存的只有時間,沒有日期,所以存在第一天上班,而第二天才下班的情況
綜合起來,可能存在比較複雜的多種情況
解決思路:
1)不用VBA程式設計,用公式實現
2)直接計算總工時和白班工時,夜班公式通過 總工時-白班工時計算
3)總工時,只需考慮跨天的情況.只處理最多24小時,也即每個人最多跨1天工作。可簡單根據下班時間與上班時間的大小關係處理:當下班時間<上班時間,即認為跨天工作,將下班時間加1後再計算
4)白班時間:可分為第一天的白班+第二天的白班
其中:第一天的白班:用 min(白班結束時間,處理後的下班時間)-max(白班開始時間,上班時間)計算
第二天的白班:用 處理後的下班時間-白班開始時間計算
最終實現:
公式示例及11種典型情況的驗證如下圖:
相關推薦
根據上下班時間(可能跨1天),利用Excel的公式計算白班時間和夜班時間
問題補充: 上班時間可能是這樣的: 序號 上班時間 下班時間 1 6:00 17:00 2 5:38 10:00 3 4:20 8:39 4 22:50 5:40 5 18:49 8:38 那如何區分白班和夜班的工
求解多邊形面積2S= Σ【Xi (Yi+1-Yi-1)】,(i屬於1~n),公式解析及編程實現
poi logs 驗證 地圖 class view hide 對比 turn yogurt今天要個大家分享一個基礎的二維空間多邊形面積求算方法,主要也是為了下一篇《橢球體上某區域面積的求算,及Albers投影與墨卡托投影後該區域面積對比》打一個基礎。關於投影的相關過
Python練習題7(統計不同字元數量):編寫一個函式,分別統計出傳入字串引數(可能不只一個引數)的英文字母、空格、數字和其它字元的個數(比如:'hello world,123456,Change the world by program!',這句話有字母33個,數字6個,空格5個,
方法一:用內建方法isdigit()判斷數字,isspace()判斷空格,isalpha()判斷字母,然後格式化輸出 1 def str_count(msgs): 2 letter_count = 0 3 num_count = 0 4 space_count = 0
計算程序運行的時間(以求得1-10000之間的素數為例)
spa pen span 計算 sub 父類 println style 運行 //抽象類public abstract class Template { abstract void code();//要麽就聲明為實體方法,提供方法;要麽就加上abstract關鍵
1.給棧新增一個獲取最小值的方法(元素為Integer型),要求時間複雜度為O(1)
分析:在資料結構與演算法中,當要求時間複雜度最小時基本都是要犧牲空間複雜度。棧是先進後出,此處要求用棧實現一個獲取最小值的方法且時間複雜度為O(1),首先考慮的方向就是再借助一個棧來實現,這個棧主要用來儲存最小值序列(這個地方可以思考一下為什麼不能用一個變數來儲存最小值)。 下面直接附上程式碼:
獲取當天時間相關時間(凌晨、第二天凌晨)
方法一:通過毫秒數獲取當天時間相關資訊 //當前時間毫秒數 long current=System.currentTimeMillis(); //今天零點零分零秒的毫秒數 long zero=current/(1000*3600*24)*(1000*3600*24)-TimeZone.getDe
黑馬程式設計師 —— Java高階視訊_IO輸入與輸出(第十八天)1
------- android培訓、java培訓、期待與您交流! ---------- 一 其它物件 - System 現在來看一下一些其他類是如何使用的。 比起了解這些類的方法怎麼使用,在這幾節學習過程中, 更重要的是要掌握如何通過查閱API文件實現功能。 1
mysql根據時間欄位查詢一天內,一週,一個月內的資料
原文路徑:https://www.cnblogs.com/Luouy/p/7590812.html,原文應該也是各處摘抄的,此處做了一些去重處理。查詢一天:select * from 表名 where to_days(時間欄位名) = to_days(now());selec
每篇半小時1天入門MongoDB——2.MongoDB環境變量配置和Shell操作
.get same 修復 nss its keys 電腦 sts lis 上一篇:每篇半小時1天入門MongoDB——1.MongoDB介紹和安裝 配置環境變量 Win10系統為例 右鍵單擊“此電腦”—&md
python 第二周(第十一天) 我的python成長記 一個月搞定python數據挖掘!(19) -scrapy + mongo
msg 步驟 [0 ssi xtra tin perl overflow tab mongoDB 3.2之後默認是使用wireTiger引擎 在啟動時更改存儲引擎: mongod --storageEngine mmapv1 --dbpath d:\data\db 這
機器學習特征表達——日期與時間特征做離散處理(數字到分類的映射),稀疏類分組(相似特征歸檔),創建虛擬變量(提取新特征) 本質就是要麽多變少,或少變多
通過 time 理想 ast 可能 ear 創建 eat 根據 特征表達 接下來要談到的特征工程類型雖然簡單卻影響巨大。我們將其稱為特征表達。 你的數據並不一定總是理想格式。你需要考慮是否有必要通過另一種形式進行特征表達以獲取有用信息。 日期與時間特征: 我們假設你擁有p
solr服務的搭建(以solr4.1實現)
start 配置文件 eve ever ont 分詞 路徑 中文 數據 1.準備工作:一個幹凈的Tomcat,solr-4.10.3. 2.新建一個文件夾我這裏命名為solr,將Tomcat和solr-4.10.3放進去。新建一個solrhome的文件夾,裏面放的是solr
二周第四次課(2月1日)
可執行文件 打開 軟鏈接 分區 chm 失敗 sha span 結果 2.18 特殊權限set_uid2.19 特殊權限set_gid2.20 特殊權限stick_bit2.21 軟鏈接文件2.22 硬連接文件2.18 特殊權限set_uid#which passwd/us
二周第四次課(2月1日)筆記
blog size ima ext bcf 不可 需要 pro ade 二周第四次課(2月1日)2.18 特殊權限set_uid2.19 特殊權限set_gid2.20 特殊權限stick_bit2.21 軟鏈接文件2.22 硬連接文件 2.18 特殊權限set_uid特殊
十周第二次課(3月1日)
linux十周第二次課(3月1日)11.14/11.15 Apache和PHP結合httpd的主配置文件是/usr/local/apache2.4/conf/httpd.confvim /usr/local/apache2.4/conf/httpd.conf 修改以下4個地方1 ServerName #Ser
Linux學習筆記第四周第四次課(3月1日)
gzip bzip2 xz gunzip unxz 6.1 壓縮打包介紹常見壓縮文件windows-------- .rar .zip .7zlinux ------------ .zip .gz .bz2 .xz .tar.gz
SQLSERVER復制數據庫某一個表到另一個數據庫中(可跨服務器)
led 數據 rom msdb pan 錯誤 ons 數據庫 ble 一、復制數據庫某一個表到另一個數據庫中(同一服務器) SELECT * INTO 表1 FROM 表2 --復制表2如果只復制結構而不復制內容或只復制某一列只要加WHERE條件就好了 例子:SELECT
sed工具與正則表達式的使用(shell第四天)
sed工具正則表達式sed工具 【流式編輯器】 —— 非交互,基於模式匹配過濾及修改文本—— 逐行處理,並將結果輸出到屏幕——可實現對文本的輸出,刪除,替換,復制,剪切,導入,導出等各種操作 命令格式:1)前置命令 | sed [選項] ‘條件指令‘ 【利用管道】2)sed [選項] ‘條件指
SpringMVC+RestFul詳細示例實戰教程(實現跨域訪問)
java springmvc restful 跨域 一、理解 REST REST(Representational State Transfer),中文翻譯叫“表述性狀態轉移”。是 Roy Thomas Fielding 在他2000年的博士論文中提出的。它與傳統的 SOAP Web 服務區別
Nginx反向代理配置(解決跨域問題)
一. 跨域 指的是瀏覽器不能執行其他網站的指令碼。它是由瀏覽器的同源策略造成的,是瀏覽器對 JavaScript 施加的安全限制。 實際開發過程中表現為,如果本地的Html程式碼未提交到伺服器,本地是不能直接呼叫伺服器 API 獲取資料的。 二. Nginx