web-dev-qa-db-ja.com

DateTime.ToString( "dd / MM / yyyy")がdd-MM-yyyyを返すのはなぜですか?

日時を「dd/MM/yyyy」形式の文字列に変換したい

DateTime.ToString("dd/MM/yyyy")を使用して変換するたびに、代わりにdd-MM-yyyyを取得します。

設定しなければならない文化情報はありますか?

149
Diskdrive

スラッシュは日付区切り記号であるため、現在のカルチャ日付区切り記号が使用されます。

常にスラッシュを使用するようにハードコードしたい場合は、次のようなことができます:

DateTime.ToString("dd'/'MM'/'yyyy")
228
Bojan Bjelic

CultureInfo.InvariantCulture をDateTimeの2番目のパラメーターとして渡すと、非常に特殊な形式であっても、必要な文字列が返されます。

DateTime.Now.ToString("dd|MM|yyyy", CultureInfo.InvariantCulture)

戻ります:28 | 02 | 2014

58
Liu Peng

CultureInfo.InvariantCultureを引数として追加します。

using System.Globalization;

...

var dateTime = new DateTime(2016,8,16);
dateTime.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);

戻ります:

"16/08/2016"
9
Mikael Engver

MVCテーブルを使用すると、次のように機能します。

<td>@(((DateTime)detalle.fec).ToString("dd'/'MM'/'yyyy"))</td>
1
Maurico Bello