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

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

每当我使用 DateTime.ToString("dd/MM/yyyy")转换它时,我得到的是 dd-MM-yyyy

有什么文化信息需要我设置吗?

129014 次浏览

也许是愚蠢的问题/答案,但是你试过 dd/MM/yyyy吗? 请注意大写。

mm是一个前导0的分钟。所以我怀疑这是你想要的。

这可能会有帮助: http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm

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

如果你想硬编码它总是使用斜杠,你可以这样做:

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

传递 不变文化作为 DateTime 的第二个参数,它将返回您想要的字符串,甚至是一种非常特殊的格式:

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

将返回: 28 | 02 | 2014

添加 CultureInfo.InvariantCulture作为参数:

using System.Globalization;


...


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

将返回:

"16/08/2016"

如果你使用 MVC,表格,它的工作原理是这样的:

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