【问题标题】:why does DateTime.ToString("dd/MM/yyyy") give me dd-MM-yyyy?为什么 DateTime.ToString("dd/MM/yyyy") 给我 dd-MM-yyyy?
【发布时间】:2011-06-14 12:14:02
【问题描述】:

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

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

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

【问题讨论】:

  • 做 DateTime.ToString("dd/MM/yyyy");
  • 我这样做了,但没用,问题不在于日期,而在于“-”,我希望它是我指定的“/”
  • 使用 MM 而不是 mm - mm 代表分钟而不是月。
  • MSDN documentation for DateTime.ToString 大错特错:"例如,“MM/dd/yyyyHH:mm”格式字符串以固定格式显示日期和时间字符串...格式字符串使用“/”作为固定日期分隔符,而不管特定于文化的设置。"

标签: c# .net datetime


【解决方案1】:

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

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

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

【讨论】:

  • @spender - 在某些文化中确实如此。
  • 感谢您的快速回答。你说的对。我给你正确答案
  • 你也可以使用这种格式:dateTime.ToString(@"yyyy\/MM\/dd")
  • 使用反斜杠转义格式字符串也可以:DateTime.Now.ToString("dd\\/MM\\/yyyy");
【解决方案2】:

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

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

将返回: 28|02|2014

【讨论】:

  • 这段代码比接受的答案更清晰(我的意思是添加了 CultureInfo)。它看起来至少比用撇号转义斜线更好。
  • 绝对比使用转义字符更容易阅读。我有点震惊,我不知道我的日期格式会被覆盖!
【解决方案3】:

添加CultureInfo.InvariantCulture 作为参数:

using System.Globalization;

...

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

将返回:

"16/08/2016"

【讨论】:

  • 如果开发人员使用带有 M m ss 等字母的 tostring 方法,您的解决方案会得到错误的结果,例如 Datetime.Now.ToString("yyyy/dd/mm/Month",CultureInfo. InvariantCulture) 不会导致 2017/01/02/Month 它将导致 2017/01/02/2onth
  • @OkanSARICA 如果你想用“/Month”作为日期后缀,你应该在 ToString 方法之后做。 DateTime.Now.ToString(”yyyy/MM/dd”, CultureInfo.InvariantCulture) + ”/Month”;
【解决方案4】:

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

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

【讨论】:

    【解决方案5】:

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

    mm 表示分钟,前导零。所以我怀疑这就是你想要的。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-30
      • 2020-02-24
      • 2019-10-29
      • 2016-06-21
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      相关资源
      最近更新 更多