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

时间:2011-06-14 12:14:02

标签: c# .net datetime

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

每当我使用DateTime.ToString("dd/MM/yyyy")转换它时,我会改为dd-MM-yyyy

我是否需要设置某种文化信息?

5 个答案:

答案 0 :(得分:224)

Slash是一个日期分隔符,因此将使用当前的文化日期分隔符。

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

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

答案 1 :(得分:55)

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

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

将返回: 28 | 02 | 2014

答案 2 :(得分:9)

添加CultureInfo.InvariantCulture作为参数:

using System.Globalization;

...

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

将返回:

"16/08/2016"

答案 3 :(得分:1)

如果您使用MVC表,它的工作方式如下:

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

答案 4 :(得分:-3)

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

mm是一个领先零的分钟。所以我怀疑这就是你想要的。

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