文字列を日時に変換しようとしています
私は使用しています
DateTime convertedDate = DateTime.Parse(lastModificationDate);
日付を変換する
私の問題は、日付が英国の形式になることもあれば、米国の形式になることもあります
すなわち英国11/09/2011 10:34
米国2/28/2010 13:56
文字列がどちらの形式になるかわからない場合、つまり us または uk の両方の形式をどのように処理できますか?
文字列を日時に変換しようとしています
私は使用しています
DateTime convertedDate = DateTime.Parse(lastModificationDate);
日付を変換する
私の問題は、日付が英国の形式になることもあれば、米国の形式になることもあります
すなわち英国11/09/2011 10:34
米国2/28/2010 13:56
文字列がどちらの形式になるかわからない場合、つまり us または uk の両方の形式をどのように処理できますか?
基本的にできません。十分なデータがありません。人間として、ここに関係する日付はどれですか?
11/09/2011 10:34
それは 9 月 11 日ですか、それとも 11 月 9 日ですか。
人間として区別できないのなら、コンピューターがそうする可能性はありません。
同じデータ ソースの他の場所からシグナルを取得できる場合、それが出発点です。たとえば、ヒューリスティックにすべての日付を米国の形式として解析し、すべての日付を英国の形式として解析し、100% パスした場合英国の形式ですが、米国の形式では 60% が失敗します (日が無効な月として解析されるため)、英国の日付であると合理的に推測できます。
ただし、これが完全な解決策になることはありません。両方の形式ですべて有効な (ただし意味が異なる)一連の日付を持つ 1 つのデータ ソースを使用できるためです。
まさにこの理由から、日時を標準化された形式 (通常は UTC) でデータベースに保存する必要があります。
次に、javascript などを使用して、UTC からユーザーのローカル日時を解析できます。