これはなんですか
ギョーカイでいうところの「業務日」とはなにか、また、その概念が実装されている目的。
この記事で書かれている時刻はすべて 24 時間表記です。
業務日の謎に迫る
業務日とは本番運用されている環境下では、通常は「今日」のことである。
今日の日付は2022年6月14日です。
ただ、24時を超えてもデイリーバッチが走るまでは・・・
たとえば、ソシャゲのログボ配ったりする時や、自分が寝て起きるまでが今日と認識してるあまりよろしくない生活をしている場合など、
概念的に「昨日」を「今日」として処理したほうが都合がよいものがもろもろあります。
なんか寝てる時間とか不規則そうですねこの人。
(呼符はきちんともらいましょう)
あるシステムの場合、たとえば2022年6月15日01時であっても、04時にバッチが走ったことを条件に業務日が切り替わるのであれば、その業務システム上で 2022年6月14日は、2022年6月14日04時から、2022年6月15日04時(正確には03時59分59秒なのかもしれないけど、概念なのでざっくりでよいもよう、もしかしたら04時を過ぎてもバッチが完了するまでは「昨日」かもしれない)
これを一律ファイルやDBに格納して管理していることを「業務日の概念が実装されている状態」と言う。 いや、なんと呼んでもいいんだけど。
で、これなにが嬉しいかと言うと、開発工程でデイリーバッチが動いたあとの状態などを確認するときに便利だったり、1ヶ月後の処理をすぐサーバのクロックを書き換えることなく実行できたりするのに便利なのです。
また、有益かどうかは存じ上げませんが、タイムゾーンの概念を無視することもできると思いますが、実際にそれをやってるシステムにはお目にかかったことがないです。きっと世界のどこかにあるのでしょう。
私が見てきた中で、5つくらいのシステムはこの概念を実装していたので、割とポピュラーなやり口なのかと思います。
おわり。