ToShortDateString()は「yyyy/MM/dd」とは限らない

ToShortDateStringって便利ですよね。DBなどで日付を持つ列「yyyy/MM/dd」の形式で入れたいがために

DateTime.Now.ToShortDateString()

の様に書いていた時期がが4年くらい前にあったのですが、最近間違いだと気づく出来事がありました。

タスクバーで曜日を確認できたら便利だと思い、下記のサイトを参考に日付をいれていたのですが

Windowsのタスクバーの日付に「曜日」を加える方法。意外と使う曜日の確認に便利!https://dekiru.net/article/23658/

それを加えた翌日、社内共通で使用していた勤怠管理プログラムが日付のエラーで止まってしまうことがあり、まさかと思ってもとに戻してみると無事に動作したことがありました。

何もいじっていない日本語PCの場合であれば.ToShortDateString()はyyyy/MM/ddを指すのですが、これは日付(短い形式)で設定されたものが表示されているだけなんですよね。なので過信して使っていると私のように曜日を加えられた場合にエラーになることがあります。

.ToString(“yyyy/MM/dd”)

を使ったほうが安全です。

カテゴリー: C#

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA