2016-10-19 9 views
0

私は1つの日付文字列、すなわち "30.03.2016"(つまり、ここでは任意の言語形式であると仮定します)を持っていますが、私の現在の文化は米国です。私はWindowsの保存されたロケール設定の文化に入力を変換したい。変換のために以下のフォーマットを使用していますが、datetimeが無効です。日付の文字列を現在のカルチャの日付の形式に変換します

var myDateTimeValue = "30.03.2015"; 
DateTime myDateTime = DateTime.Parse(myDateTimeValue); 
var dateingddmmyy = myDateTime.ToString(new CultureInfo("sv-SE")); 
Console.Write(dateingddmmyy); 

どのようなタイプの日付文字列を現在のカルチャフォーマットに変換することができますか教えてください。

+3

"任意の言語形式は、" 問題があります。 「05/06/2016」は6月5日(英国形式)または5月6日(米国形式)ですか? –

+0

あなたのコードは私のPC上で正常に動作しています –

+0

@JonSkeet私の必要条件 "どの言語形式"でも変換できますか? – stylishCoder

答えて

1

ソース日はのようなものが考えられます。

  • DD-MM-YYYY
  • DD/MM/YYYY、
  • MM-DD-YYYY、
  • YYYY/MM/DD
  • YYYY-MM-DD

私はあなたが戻って一歩を踏み出すとあなたがより詳細に解決しようとしているものを探る示唆しています。たぶん、データ形式を変換する必要はありません。そのようなデータ形式を提供する方法があるかもしれません。私は私の問題解決した下

+0

Thanks @David Rutkowskiが私の答えを投稿しました – stylishCoder

0

string[] formats = {"M/d/yyyy", "MM/dd/yyyy", 
           "d/M/yyyy", "dd/MM/yyyy", 
           "yyyy/M/d", "yyyy/MM/dd", 
           "M-d-yyyy", "MM-dd-yyyy", 
           "d-M-yyyy", "dd-MM-yyyy", 
           "yyyy-M-d", "yyyy-MM-dd", 
           "M.d.yyyy", "MM.dd.yyyy", 
           "d.M.yyyy", "dd.MM.yyyy", 
           "yyyy.M.d", "yyyy.MM.dd", 
           "M,d,yyyy", "MM,dd,yyyy", 
           "d,M,yyyy", "dd,MM,yyyy", 
           "yyyy,M,d", "yyyy,MM,dd", 
           "M d yyyy", "MM dd yyyy", 
           "d M yyyy", "dd MM yyyy", 
           "yyyy M d", "yyyy MM dd" 
           }; 
       DateTime dateValue; 

        foreach (string dateStringFormat in formats) 
        { 
         if (DateTime.TryParseExact(strDateTime, dateStringFormat,CultureInfo.CurrentCulture,DateTimeStyles.None, 
                out dateValue)) 
         { 
          return dateValue.ToShortDateString(); 
         } 
        } 
+0

誰かがフォーマット配列に存在しないカスタム日付フォーマットを使用しますか? –

+0

あなたは配列first..iでフォーマットを追加する必要がありますので、それらは上記のソリューションの代わりです。ユーザが日付を入力すると、フォーマットが配列で指定されている必要があります。それは基本的な.. @DawidRutkowski ..あなたが何よりも大歓迎を提案したら... – stylishCoder

+0

なぜユーザーが日付を入力するはずのフィールドにバリデーションを追加してみませんか?その後、日付は必ず同じ形式になります。 –

関連する問題