ホームページ  >  記事  >  バックエンド開発  >  javascript - 休暇時間の計算について

javascript - 休暇時間の計算について

WBOY
WBOYオリジナル
2016-08-31 08:54:531693ブラウズ

まず、休暇を申請するためのルールについて説明します。
1. 午前中に休暇を申請する場合、その期間は 3 時間未満であってはなりません
2. 午後に休暇を申請する場合、その期間は5時間未満は不可
3. 勤務時間:9:00~18:00
4. 正午休みあり 所定外労働時間あり
会社の制度上、残業代は支払われませんが、残業は可能です。補正されるため、時間は正時まで正確でなければなりません。ここで質問が生じます:
1. 休暇申請の期間が午前から午後までの場合、ルールは満たしますが、システムの計算時間は 1 時間長くなります。

  • 私の解決策は、まず開始時刻と祭りの時刻が同じ日であるかどうかを判断し、次に開始時刻が午前かどうか、終了時刻が午後であるかどうかを判断し、両方が満たされている場合は、1 時間を減算します。システムによって計算された時間から

2. 勤務時間を超えて開始時刻と終了時刻を選択する愚かな人がいる場合、たとえば終了時刻が 18 時以降である場合、18 時以降の時間を差し引くかどうかを判断する必要があります

3. 最も問題となるのは、休日に法定休日や週末、その他の特別な事情が含まれる場合です。たとえば、3 日後の午前 11 時だけを要求した場合、3 日後の 0:00 から 9:00 までの期間を削除するにはどうすればよいでしょうか。

私の考えは少し混乱しているので、経験のある先輩方に経験を共有してもらいたいと思います、ありがとう! !

返信内容:

まず、休暇を申請するためのルールについて説明します。

1. 午前中に休暇を申請する場合、その期間は 3 時間未満であってはなりません

2. 午後に休暇を申請する場合、その期間は5時間未満は不可
3. 勤務時間:9:00~18:00
4. 正午休みあり 所定外労働時間あり
会社の制度上、残業代は支払われませんが、残業は可能です。補正されるため、時間は正時まで正確でなければなりません。ここで質問が生じます:
1. 休暇申請の期間が午前から午後までの場合、ルールは満たしますが、システムの計算時間は 1 時間長くなります。

私の解決策は、まず開始時刻と祭りの時刻が同じ日であるかどうかを判断し、次に開始時刻が午前かどうか、終了時刻が午後であるかどうかを判断し、両方が満たされている場合は、1 時間を減算します。システムによって計算された時間から
  • 2. 勤務時間を超えて開始時刻と終了時刻を選択する愚かな人がいる場合、たとえば終了時刻が 18 時以降である場合、18 時以降の時間を差し引くかどうかを判断する必要があります
3. 最も問題となるのは、休日に法定休日や週末、その他の特別な事情が含まれる場合です。たとえば、3 日後の午前 11 時だけを要求する場合、3 日後の 0:00 から 9:00 までの期間を削除するにはどうすればよいですか

私の考えは少し混乱しているので、経験のある先輩方に経験を共有してもらいたいと思います、ありがとう! !

跨ぎ日数は実質同じ日と同じです とにかく、毎日の休暇申請の時間は

最初の判断

(開始-終了)/(24X3600)=日数です。 1 より大きい場合は、日数にまたがることを意味します。たとえば、2016-08-30 10:30-2016-09-04 12:00 の状況を計算します。中日は7*3=21時間です


特定の日(勤務+休暇申請)
状況はいくつかあります。午前中に休暇を申請する、午後に休暇を申請する、午前から午後まで

if条件は少し面倒です


終了時間 <= 12 時、午前中に休暇を取る
開始時間 >= 13 時 && 終了時間

残りは基本的に午前と午後のスパンセグメントを計算するだけです。

0-9、12-13、18-0の時間帯では重複部分は計算されません

リーリー
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。