2017.12.14
 

ジョブ日付とシステム日付について

Question

夜間処理としてデータ更新の処理をしました。 更新したデータには更新のタイムスタンプを埋め込むようにしています。 深夜の00:00を過ぎたデータのタイムスタンプが前の日のままになっています。 どうしてでしょうか。

Answer

プログラムで使用しているのがジョブ日付となっていると考えられます。 ジョブ日付はジョブが投入された日付になり、そのジョブが終了するまで 同じ日付のままです。 システム日付は実際の日付なので、00:00となれば、更新されますが、ジョブ日付は更新されません。 プログラムで何のキーワード/命令を使って日付を使用しているか、確認してください。

ユーザー日付に関する規則はこちら

対話式ジョブまたはバッチ・プログラムの場合に、ユーザー日付の特殊語 は、システムでプログラムの実行が開始された時のジョブ日付の値に設定されます。

プログラムが深夜を過ぎて実行されている場合、あるいはジョブ日付が変更された場合であっても、プログラムの処理中にユーザー日付の特殊値は更新されません。プログラムの実行中に時刻および日付を入手するためには、TIME 命令コード を使用してください。

解りやすい例としては、仕事帰りに同僚やお客様と飲みに行って直ぐ帰れば、 当日の同じ日に帰って仕事が終わりますが、 二次会、三次会と梯子をすると、そのうち日付が変わってしまいます。

変わった日付はリアルなので、システム日付です。

でも、飲みに行って日付が変わった深夜に帰っても、前の日を引きずっている 感覚だと思います。

いわゆる、日付が跨いで、午前様状態です、その時の感覚としては前の日なのでジョブ日付です。

間もなく忘年会シーズンですが、無理をして飲みすぎないようにご注意ください。

ページトップ

ボタン