こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

C#にて、他言語にローカライズした場合に、日付の書式エラーが発生します

C#にて、他言語にローカライズした場合に、日付の書式エラーが発生します。

ローカライズ後に、日付の書式が"dd/MM/yyyy"に切り替わってしまうため、
起動時に「System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern = "yyyy/MM/dd";」を設定するようにしています。

ローカライズ前は日付入力「12/02」としたとき「DateTime.TryParse」にて「2010/12/02」と正しく変換されましたが、
ローカライズ後はエラーになって正しく変換されませんでした。

そこで、DateTime.TryParseExactにてフォーマットを"MM/dd"に指定しても、「2010/02/12」と月日が逆で設定されるようになってしまいました。

入力値「12/02」に対して、日付が「2010/12/02」と表示できるようにする方法を教えてください。

投稿日時 - 2010-10-25 18:15:23

QNo.6274851

すぐに回答ほしいです

質問者が選んだベストアンサー

TryParseExact のカルチャ指定は、どのような形でしょうか。
CultureInfo.CreateSpecificCulture("ja-JP")
みたいな形を指定しても、ダメでしょうか。

宇宙仮面の C# プログラミング 日時のフォーマット
http://msdn.microsoft.com/ja-jp/library/9h21f14e.aspx

参考URL:http://msdn.microsoft.com/ja-jp/library/9h21f14e.aspx

投稿日時 - 2010-11-13 02:22:31

お礼

教えてくれてありがとうございます。
教えてくれた内容でできそうです。

投稿日時 - 2010-11-15 20:55:55

ANo.2

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

入力していない値を補完するのに、システムに頼るなんて。
入力された月日に対応する年を補完するのはアプリケーションの責任です。
今現在の年でよいのか、過去でなきゃいけないのか、未来なのか
その辺を判断して、アプリケーションで付加しましょう。

投稿日時 - 2010-10-25 21:12:18

補足

入力していない値を補完するしくみをシステムでできるように、DateTime.TryParseのような機能があると思っていますが。。。

投稿日時 - 2010-10-26 08:28:32