2

私はこれを持っています:

var dateString = string.Format("{0:dd/MM/yyyy}", date);

しかし、dateString は 13/05/2011 ではなく 13.05.2011 です。手伝って頂けますか?

4

7 に答える 7

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

したがって、文化をドイツ語から英語に変更する必要があります。

あなたは書ける :

date.ToString(new CultureInfo("en-EN"));
于 2012-12-05T14:40:14.613 に答える
5

DateTime.ToString代わりに使用できますCultureInfo.InvariantCulture

var dateString = date.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);

/に置き換えられる.理由は/、カスタムフォーマット指定子であるためです

「/」カスタム形式指定子は、年、月、日を区別するために使用される日付区切り文字を表します。適切なローカライズされた日付区切り文字は DateTimeFormatInfo.DateSeparator、現在または指定されたカルチャのプロパティから取得されます。

したがって、日付区切り文字として使用するInvariantCultureを使用するか/、より適切には、このフォーマット指定子を次のように埋め込むことでエスケープします'

var dateString = date.ToString("dd'/'MM'/'yyyy");

なぜこれがより適切なのですか?地域の文化を引き続き適用できるため、月の名前を出力する場合はfeですが、/とにかく日付の区切り文字として強制します。

于 2012-12-05T14:44:58.923 に答える
2

これを試して:

  var dateString = string.Format("{0:dd}/{0:MM}/{0:yyyy}", date);

文字列のフォーマットについては、Steve Xのサイトもチェックしてください:http: //blog.stevex.net/string-formatting-in-csharp/

于 2012-12-05T14:39:13.733 に答える
2

カルチャに関係なく日付区切り文字を強制する場合は、次のようにエスケープできます。

var dateString = string.Format(@"{0:dd\/MM\/yyyy}", date);

http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

于 2012-12-05T14:41:41.803 に答える
2

試してみてください

var dateString = date.ToString("dd/MM/yyyy", new System.Globalization.CultureInfo("en-GB"));
于 2012-12-05T14:41:55.253 に答える
1

日付区切りの問題のようです。これを使って;

String.Format("{0:d/M/yyyy}", date);

プロパティを確認String Format DateTimeして見てください。DateTimeFormatInfo.DateSeperator

于 2012-12-05T14:40:40.227 に答える
1

これを試して:

var dateString = string.Format("{0:dd/MM/yyyy}", DateTime.Today, new System.Globalization.CultureInfo("en-GB"));
于 2012-12-05T14:43:05.603 に答える