DateTime.Parseで区切り文字がないとエラーになる

DateTime.Parseは、元のString型の日付に/や-などの区切り文字がないと日付型に変換できないのでしょうか。

下記投稿を参考に、yyyyMMdd表記の文字列を和暦に変換してみたのですが、元の文字列にyyyy-MM-ddとすると変換ができましたがyyyyMMddのままではエラーになりました。

最後の一行を書き込みで下記のエラーとなってしまいます。

String ‘20230127’ was not recognized as a valid DateTime.

こんにちは

DateTime.Parseではできません。(MMddyyyyとの区別ができなくなることが背景かと思います。)
DateTime.ParseExactメソッドを使用してみてください。

DateTime.ParseExact(yourString,"yyyyMMdd",System.Globalization.CultureInfo.InvariantCulture)

ありがとうございます。
いただいた内容に引数を指定したら無事に和暦を取得することができました。

DateTime.ParseExact(strDateTime,"yyyyMMdd",System.Globalization.CultureInfo.InvariantCulture).ToString("gyyMMdd",ci)
2 Likes

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.