0

WPFにDateTimePickerがあります。dateTimePickerは私にヨーロッパ形式を与えます

DateTimePickerで、「01/02/2014」(ヨーロッパ形式)を選択します。

値を読み取り、米国の文化を使用してshortDateStringに変換したいと思います。

私はこれをしました:

CultureInfo m_UsCulture = new CultureInfo("en-us");
string str = m_dDate.Date.ToShortDateString().ToString(m_UsCulture);

str変数は「2014年2月1日」ではなく「2014年1月2日」です。

ShortDateStringは問題ないように見えますが、「ToString(m_UsCulture);」は問題ありません。

これを一行でやりたいと思います。このエラーのアイデアはありますか?

どうもありがとう :)

4

2 に答える 2

4

dateTimePickerは私にヨーロッパ形式を与えます

これは、プロパティを使用している場合にのみ当てはまりTextます。SelectedDate代わりにプロパティを使用することをお勧めしますDateTime?-そして、フォーマットDateTimeはありません...あなたが望むようにそれをフォーマットするのはあなた次第です。

次に、それらを米国の短い日付形式に変換するには、(短い日付形式の場合)カルチャを同時に使用ToStringして指定する必要があります。d

string str = m_dDate.Date.ToString("d", m_UsCulture);

現在のコードはDateTime.ToShortDateString()、現在のカルチャを使用するを使用しており、渡されたカルチャを気にしない結果の文字列を呼び出してます。ToString

于 2013-03-15T15:18:55.080 に答える
4

ToShortDateString現在のカルチャを使用するため、この方法で米国のカルチャを指定することはできません(現在のカルチャを変更しない限り)。ToString代わりに、米国固有の短い日付パターンを使用します。

CultureInfo usCulture = CultureInfo.GetCultureInfo("en-us");
var stringRep = yourDate.ToString(
    usCulture.DateTimeFormat.ShortDatePattern, 
    usCulture);
于 2013-03-15T15:21:48.087 に答える