You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么DateTime使用/格式符格式化日期时输出分隔符为-?

问题核心原因

DateTime.ToString()的格式字符串中,/是日期分隔符占位符,并非字面量斜杠。它会自动替换为当前运行环境所属区域设置(CultureInfo)中定义的默认日期分隔符,你当前环境的默认日期分隔符为-,因此格式化结果就出现了1-23-2021的输出。

可行解决方案

你可以任选以下一种方案实现固定/分隔的日期格式:

  • 强制将斜杠标记为字面量,用单引号包裹格式字符串中的/即可:
    new DateTime().ToString("M'/'dd'/'yyyy")
    
  • 指定使用不变文化(InvariantCulture)执行格式化,该文化的默认日期分隔符就是/:
    // 需要先引用命名空间 using System.Globalization;
    new DateTime().ToString("M/dd/yyyy", CultureInfo.InvariantCulture)
    
适用场景说明

如果你只需要固定输出斜杠分隔的日期格式,两种方案均可正常生效;如果你的程序需要后续适配多区域的日期显示习惯,建议优先使用显式指定格式化文化的方案,避免不同运行环境的区域差异导致输出异常。

内容的提问来源于stack exchange,提问作者Kristofer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 09:51:04