タスクスケジューラ起動でのDate型データ(VB2005)扱いの留意点
まず、タスクスケジューラへのプログラム起動登録に実行IDが設定できます。
一方、日時のフォーマットは、ログオンID毎にコンパネ設定(補足1)で行います。
そして、ログオンIDとタスクスケジューラ実行IDで日時フォーマット設定が異なる場合、
同じプログラムでも、Date型データの文字列変換で結果が異なる場合があるのです。
同じPCで、同じプログラムで結果が異なるのです。ちょっと気がつかなバグです。
これは、Date型データの文字列変換でフォーマットを指定すれば解決します。
具体的には、ToStringメソッドやFormat関数で"yyyy/MM/dd HH:mm:ss"等(補足2)を指定します。
補足1:日時フォーマットのコンパネ設定
スタートメニュー->設定->コントロールパネル->地域と言語のオプション->
地域オプションタブ->カスタマイズボタン->時刻タブで日時フォーマット設定。
補足2:フォーマット書式指定子(よく利用するものを抜粋)
書式指定子 | 説明 |
yyyy | 4桁の年(例:2007) |
yy | 0埋め2桁の年(例:07) |
MM | 0埋め2桁の月(例:06) |
dd | 0埋め2桁の日(例:16) |
HH | 0埋め2桁の24表記時間(例:21) |
hh | 0埋め2桁の12表記時間(例:09) |
mm | 0埋め2桁の分(例:23) |
ss | 0埋め2桁の秒(例:06) |