0

必要なのは、文字列変数を使用して、現在のシステム カルチャに基づいて DateTime を構築することです。

いくつかの例では、手動で行うように言っています

// date separator in german culture is "." (so "/" changes to ".")
String.Format("{0:d/M/yyyy HH:mm:ss}", dt); // "9/3/2008 16:05:07" - english (en-US)
String.Format("{0:d/M/yyyy HH:mm:ss}", dt); // "9.3.2008 16:05:07" - german (de-DE)

しかし、それを自動的に行う方法はありますか?

このコードは正しいですか?

DateTime dateValue;
CultureInfo culture = CultureInfo.CurrentCulture;
DateTimeStyles styles = DateTimeStyles.None;
string strDateTime = string.Format("{0}/{1}/{2} {3}:{4}:{5}", systemTime.month, systemTime.day, systemTime.year, systemTime.hour, systemTime.minute, systemTime.second);
DateTime.TryParse(strDateTime, culture, styles, out dateValue);

それを必要とする人のために、すべてのメソッドをここに置きます。

 DateTime dateValue;

        // Method 1
        //CultureInfo culture = CultureInfo.CurrentCulture;
        //DateTimeStyles styles = DateTimeStyles.None;
        //string strDateTime = string.Format("{0}/{1}/{2} {3}:{4}:{5}", systemTime.month, systemTime.day, systemTime.year, systemTime.hour, systemTime.minute, systemTime.second);
        //DateTime.TryParse(strDateTime, culture, styles, out dateValue);

        // Method 2
        //DateTime d = new DateTime(systemTime.year, systemTime.month, systemTime.day, systemTime.hour, systemTime.minute, systemTime.second);
        //dateValue = DateTime.Parse(d.ToString("G"));

        // Method 3 http://msdn.microsoft.com/en-us/library/ch92fbc1.aspx The string s is parsed using formatting information in the current DateTimeFormatInfo object, which is supplied implicitly by the current thread culture.
        DateTime d = new DateTime(systemTime.year, systemTime.month, systemTime.day, systemTime.hour, systemTime.minute, systemTime.second);
        DateTime.TryParse(d.ToString(), out dateValue);
4

2 に答える 2

2

フォーマットを:に渡すこと"G"により、現在のカルチャを自動的に使用できます。ToString

string result = dt.ToString("G"); // 9/3/2008 4:05:07 PM for en-US

これがデモです。

于 2012-04-27T18:52:40.677 に答える
1

使用するDateTime.TryParse(string, out DateTime result)と、現在のカルチャが自動的に使用されます。ここの備考セクションを参照してください: http://msdn.microsoft.com/en-us/library/ch92fbc1.aspx

于 2012-04-27T18:58:23.993 に答える