機械音痴な情報系

メモ帳.txt

【VB.NET】DateTimeで取得した日時が和暦になってファイルが作成されてしまう

DateTimeが和暦を取得している?

エラーログのファイルを「ErrorLog_yyyyMMdd_HHmmss.txt」という形式で出力していたが、急に「ErrorLog_300427_HHmmss.txt」になってしまった。

どうやら2018が和暦の30に変換されたファイルが作成されているっぽい。

以下のようにして、現在日時を取得してファイルを作成している。

Dim dtNow As DateTime = DateTime.Now
Dim stNow As String = dtNow.ToString("yyyyMMdd_HHmmss")

errorLog = "ErrorLog_" & stNow & ".txt"

解決策

結論からいうとエクスプローラー側の問題。 「更新日時」の列が和暦で表示されているので、ここを西暦に直す。

スタートボタン(Windowsボタン) →コントロールパネル →時計、言語、および地域 →地域と言語 →形式タブ

日本だとyyyyにしているのに和暦で表示されているのは謎。 因みにドロップダウンでggとかを選択すると和暦になるのはわかるんだけど。 f:id:saneeeatsu:20180427102714p:plain

ん~しょうがないから形式の国のところを英語(米国)に変更して解決。 f:id:saneeeatsu:20180427102731p:plain

そしてこの後もう一度日本にしたら普通に西暦になってるし、ドロップダウンからggが無くなってる!! なんで????

f:id:saneeeatsu:20180427102738p:plain

あと、そもそもコントロールパネルなんか開いてないのになんで今まで西暦だった表示形式が和暦に変わったんだ?? Win7だから?

ん~よくわからん。