Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么DateTime.ToString(“dd/MM/yyyy”)会给我dd-MM-yyyy?_C#_.net_Datetime - Fatal编程技术网

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

C# 为什么DateTime.ToString(“dd/MM/yyyy”)会给我dd-MM-yyyy?,c#,.net,datetime,C#,.net,Datetime,我希望将我的datetime转换为格式为“dd/MM/yyyy”的字符串 每当我使用DateTime.ToString(“dd/MM/yyyy”)转换它时,我就会得到dd-MM-yyyy 我需要设置一些文化信息吗?可能是愚蠢的问题/答案,但您是否尝试过dd/MM/yyyy?注意大写字母 mm表示以零开头的分钟数。所以我怀疑这是你想要的 这可能会有帮助:斜杠是一个日期分隔符,因此它将使用当前区域性日期分隔符 如果要将其硬编码为始终使用斜杠,可以执行以下操作: DateTime.ToString("

我希望将我的datetime转换为格式为“dd/MM/yyyy”的字符串

每当我使用
DateTime.ToString(“dd/MM/yyyy”)
转换它时,我就会得到
dd-MM-yyyy


我需要设置一些文化信息吗?

可能是愚蠢的问题/答案,但您是否尝试过
dd/MM/yyyy
?注意大写字母

mm
表示以零开头的分钟数。所以我怀疑这是你想要的


这可能会有帮助:

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

如果要将其硬编码为始终使用斜杠,可以执行以下操作:

DateTime.ToString("dd'/'MM'/'yyyy")
<td>@(((DateTime)detalle.fec).ToString("dd'/'MM'/'yyyy"))</td>
作为DateTime的第二个参数Pass,它将返回您想要的字符串,即使是非常特殊的格式:

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表,它的工作原理如下:

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

do DateTime.ToString(“dd/MM/yyyy”);我这样做了,它不起作用,问题不在于日期,而在于“-”,我希望它是一个“/”,就像我指定的一样。MM而不是MM-MM代表分钟而不是月。可能的重复是完全错误的:“例如,“MM/dd/yyyyHH:MM”格式字符串以固定格式显示日期和时间字符串…格式字符串使用“/”作为固定日期分隔符,而不考虑特定于区域性的设置。“@spender-在某些区域性中是这样。感谢您的快速回答。你是对的。我会给你正确的答案你也可以使用这种格式:dateTime.ToString(@“yyyy\/MM\/dd”)MSDN参考:使用反斜杠转义格式字符串也可以:dateTime.Now.ToString(“dd\\/MM\\/yyyyy”);这个代码比公认的答案(我的意思是添加了CultureInfo)更清晰。它看起来至少比用撇号转义斜杠要好。绝对比用转义字符更容易阅读。我有点震惊,我不知道整个时间,我的日期格式将被覆盖!如果开发人员使用带有一些字母的tostring方法,如M ss等,则您的解决方案将得到错误的结果,例如Datetime.Now.tostring(“yyy/dd/mm/Month”,CultureInfo.InvariantCulture)不会导致2017/01/02/月,但会导致2017/01/02/2onth@OkanSARICA如果您想在日期后面加“/Month”,那么应该在ToString方法后面加。DateTime.Now.ToString(“yyyy/MM/dd”,CultureInfo.InvariantCulture)+“/Month”;