[VB.NET] 操業日付の求め方

2014年8月29日

 たとえば、当日8:00~翌日8:00 までを、操業日として管理することがあります。現在時刻から操業日付を求めたい場合、現在時刻から操業日付の区切りの時刻を差し引くことで求めることができます。

 以下は、操業日付の区切りが 8:00 の場合の計算式です。

Dim bias = New TimeSpan(8, 0, 0) 
Dim 操業日付 = (現在時刻 - bias).Date

 これを計算した場合、現在時刻と操業日付は以下の対応になります。

============================================ 日付変更
現在時刻= 08/29 00:00  操業日付= 08/28 00:00
現在時刻= 08/29 01:00  操業日付= 08/28 00:00
現在時刻= 08/29 02:00  操業日付= 08/28 00:00
現在時刻= 08/29 03:00  操業日付= 08/28 00:00
現在時刻= 08/29 04:00  操業日付= 08/28 00:00
現在時刻= 08/29 05:00  操業日付= 08/28 00:00
現在時刻= 08/29 06:00  操業日付= 08/28 00:00
現在時刻= 08/29 07:00  操業日付= 08/28 00:00
-------------------------------------------- ここで操業日が変わる
現在時刻= 08/29 08:00  操業日付= 08/29 00:00
現在時刻= 08/29 09:00  操業日付= 08/29 00:00
現在時刻= 08/29 10:00  操業日付= 08/29 00:00
現在時刻= 08/29 11:00  操業日付= 08/29 00:00
現在時刻= 08/29 12:00  操業日付= 08/29 00:00
現在時刻= 08/29 13:00  操業日付= 08/29 00:00
現在時刻= 08/29 14:00  操業日付= 08/29 00:00
現在時刻= 08/29 15:00  操業日付= 08/29 00:00
現在時刻= 08/29 16:00  操業日付= 08/29 00:00
現在時刻= 08/29 17:00  操業日付= 08/29 00:00
現在時刻= 08/29 18:00  操業日付= 08/29 00:00
現在時刻= 08/29 19:00  操業日付= 08/29 00:00
現在時刻= 08/29 20:00  操業日付= 08/29 00:00
現在時刻= 08/29 21:00  操業日付= 08/29 00:00
現在時刻= 08/29 22:00  操業日付= 08/29 00:00
現在時刻= 08/29 23:00  操業日付= 08/29 00:00
============================================ 日付変更
現在時刻= 08/30 00:00  操業日付= 08/29 00:00
現在時刻= 08/30 01:00  操業日付= 08/29 00:00
現在時刻= 08/30 02:00  操業日付= 08/29 00:00
現在時刻= 08/30 03:00  操業日付= 08/29 00:00
現在時刻= 08/30 04:00  操業日付= 08/29 00:00
現在時刻= 08/30 05:00  操業日付= 08/29 00:00
現在時刻= 08/30 06:00  操業日付= 08/29 00:00
現在時刻= 08/30 07:00  操業日付= 08/29 00:00
-------------------------------------------- ここで操業日が変わる
現在時刻= 08/30 08:00  操業日付= 08/30 00:00
現在時刻= 08/30 09:00  操業日付= 08/30 00:00
現在時刻= 08/30 10:00  操業日付= 08/30 00:00
現在時刻= 08/30 11:00  操業日付= 08/30 00:00
現在時刻= 08/30 12:00  操業日付= 08/30 00:00

 

 また、前日22:00~当日22:00 までを、操業日としたい場合は、以下のようになります。

Dim bias = New TimeSpan(-2, 0, 0) 
Dim 操業日付 = (現在時刻 - bias).Date

 これを計算した場合、現在時刻と操業日付は以下の対応になります。

============================================ 日付変更
現在時刻= 08/29 00:00  操業日付= 08/29 00:00
現在時刻= 08/29 01:00  操業日付= 08/29 00:00
現在時刻= 08/29 02:00  操業日付= 08/29 00:00
現在時刻= 08/29 03:00  操業日付= 08/29 00:00
現在時刻= 08/29 04:00  操業日付= 08/29 00:00
現在時刻= 08/29 05:00  操業日付= 08/29 00:00
現在時刻= 08/29 06:00  操業日付= 08/29 00:00
現在時刻= 08/29 07:00  操業日付= 08/29 00:00
現在時刻= 08/29 08:00  操業日付= 08/29 00:00
現在時刻= 08/29 09:00  操業日付= 08/29 00:00
現在時刻= 08/29 10:00  操業日付= 08/29 00:00
現在時刻= 08/29 11:00  操業日付= 08/29 00:00
現在時刻= 08/29 12:00  操業日付= 08/29 00:00
現在時刻= 08/29 13:00  操業日付= 08/29 00:00
現在時刻= 08/29 14:00  操業日付= 08/29 00:00
現在時刻= 08/29 15:00  操業日付= 08/29 00:00
現在時刻= 08/29 16:00  操業日付= 08/29 00:00
現在時刻= 08/29 17:00  操業日付= 08/29 00:00
現在時刻= 08/29 18:00  操業日付= 08/29 00:00
現在時刻= 08/29 19:00  操業日付= 08/29 00:00
現在時刻= 08/29 20:00  操業日付= 08/29 00:00
現在時刻= 08/29 21:00  操業日付= 08/29 00:00
-------------------------------------------- ここで操業日が変わる
現在時刻= 08/29 22:00  操業日付= 08/30 00:00
現在時刻= 08/29 23:00  操業日付= 08/30 00:00
============================================ 日付変更
現在時刻= 08/30 00:00  操業日付= 08/30 00:00
現在時刻= 08/30 01:00  操業日付= 08/30 00:00
現在時刻= 08/30 02:00  操業日付= 08/30 00:00
現在時刻= 08/30 03:00  操業日付= 08/30 00:00
現在時刻= 08/30 04:00  操業日付= 08/30 00:00
現在時刻= 08/30 05:00  操業日付= 08/30 00:00
現在時刻= 08/30 06:00  操業日付= 08/30 00:00
現在時刻= 08/30 07:00  操業日付= 08/30 00:00
現在時刻= 08/30 08:00  操業日付= 08/30 00:00
現在時刻= 08/30 09:00  操業日付= 08/30 00:00
現在時刻= 08/30 10:00  操業日付= 08/30 00:00
現在時刻= 08/30 11:00  操業日付= 08/30 00:00
現在時刻= 08/30 12:00  操業日付= 08/30 00:00





カテゴリー: Program, VB.NET

Follow comments via the RSS Feed | Leave a comment | Trackback URL

コメントを投稿する

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


«   »
 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org