私はこれを持っています:
var dateString = string.Format("{0:dd/MM/yyyy}", date);
しかし、dateString は 13/05/2011 ではなく 13.05.2011 です。手伝って頂けますか?
私はこれを持っています:
var dateString = string.Format("{0:dd/MM/yyyy}", date);
しかし、dateString は 13/05/2011 ではなく 13.05.2011 です。手伝って頂けますか?
// 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"));
DateTime.ToString
代わりに使用できますCultureInfo.InvariantCulture
:
var dateString = date.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
/
に置き換えられる.
理由は/
、カスタムフォーマット指定子であるためです
「/」カスタム形式指定子は、年、月、日を区別するために使用される日付区切り文字を表します。適切なローカライズされた日付区切り文字は
DateTimeFormatInfo.DateSeparator
、現在または指定されたカルチャのプロパティから取得されます。
したがって、日付区切り文字として使用するInvariantCulture
を使用するか/
、より適切には、このフォーマット指定子を次のように埋め込むことでエスケープします'
。
var dateString = date.ToString("dd'/'MM'/'yyyy");
なぜこれがより適切なのですか?地域の文化を引き続き適用できるため、月の名前を出力する場合はfeですが、/
とにかく日付の区切り文字として強制します。
これを試して:
var dateString = string.Format("{0:dd}/{0:MM}/{0:yyyy}", date);
文字列のフォーマットについては、Steve Xのサイトもチェックしてください:http: //blog.stevex.net/string-formatting-in-csharp/
カルチャに関係なく日付区切り文字を強制する場合は、次のようにエスケープできます。
var dateString = string.Format(@"{0:dd\/MM\/yyyy}", date);
試してみてください
var dateString = date.ToString("dd/MM/yyyy", new System.Globalization.CultureInfo("en-GB"));
日付区切りの問題のようです。これを使って;
String.Format("{0:d/M/yyyy}", date);
プロパティを確認String Format DateTime
して見てください。DateTimeFormatInfo.DateSeperator
これを試して:
var dateString = string.Format("{0:dd/MM/yyyy}", DateTime.Today, new System.Globalization.CultureInfo("en-GB"));