为什么 DateTime.ToString("dd/MM/yyyy") 给我 dd-MM-yyyy?

问题描述 投票:0回答:5

我希望将我的日期时间转换为格式为“dd/MM/yyyy”的字符串

每当我使用

DateTime.ToString("dd/MM/yyyy")
进行转换时,我都会得到
dd-MM-yyyy

我必须设置某种文化信息吗?

c# .net datetime
5个回答
263
投票

斜杠是日期分隔符,因此将使用当前区域性日期分隔符。

如果您想对其进行硬编码以始终使用斜杠,您可以执行以下操作:

DateTime.ToString("dd'/'MM'/'yyyy")

77
投票

传递 CultureInfo.InvariantCulture 作为 DateTime 的第二个参数,它将返回你想要的字符串,甚至是非常特殊的格式:

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

将返回: 28|02|2014


14
投票

添加

CultureInfo.InvariantCulture
作为参数:

using System.Globalization;

...

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

会回来:

"16/08/2016"

1
投票

如果你使用MVC、表格,它的工作原理如下:

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

0
投票

试试这个。

var 日期格式 = "dd-MMM-yy"; var NumFormat = "###,###,##0.00"

 @foreach (DataRow _Row in CashBook2.Rows)
            {
                <tr>
                    <td>@DateTime.Parse(_Row["Vou_Date"].ToString()).ToString(DateFormat)</td>
                    <td>@_Row["Vou_No"].ToString()</td>
                    <td>@_Row["Description"].ToString()</td>
                    <td>@decimal.Parse(_Row["DR"].ToString()).ToString(NumFormat)</td>
                    <td>@decimal.Parse(_Row["CR"].ToString()).ToString(NumFormat)</td>
                    <td>@Balance</td>
                </tr>
            }
© www.soinside.com 2019 - 2024. All rights reserved.