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

如何在C#的DateTime.ToString格式字符串中添加'at'文本?

解决DateTime格式字符串添加'at'文本的格式异常问题

我太懂你这种困扰了!直接在DateTime格式字符串里加'at'触发格式异常,核心原因是a和t会被系统当成格式占位符(比如a在多数区域设置里代表AM/PM标识,t可能对应短时间格式的片段),系统会试图解析它们而不是当成普通文本显示。要解决这个问题,有两种简单可靠的方法:

  • 方法一:用单引号包裹'at'(推荐)
    这是DateTime格式化规范里专门用来转义普通文本的方式,兼容性最好。把你原本的格式字符串里,需要显示的'at'用单引号括起来就行。

举个C#的示例:

DateTime currentTime = DateTime.Now;
// 假设你原本的格式是 "yyyy-MM-dd HH:mm:ss"
string formattedTime = currentTime.ToString("yyyy-MM-dd 'at' HH:mm:ss");
// 输出示例:2024-05-20 at 15:45:30

如果是Java,逻辑完全一致:

LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd 'at' HH:mm:ss");
String formattedTime = now.format(formatter);
  • 方法二:用反斜杠转义单个字符
    如果你的开发环境支持反斜杠转义(比如部分.NET场景),可以给a和t分别加上反斜杠,让系统把它们当成普通字符:
string formattedTime = currentTime.ToString("yyyy-MM-dd \\a\\t HH:mm:ss");

不过这种写法可读性不如单引号,而且在不同语言/框架下兼容性稍差,更推荐第一种方法。

这样修改后,既不会触发格式异常,还能让时间显示更清晰友好,完美解决你说的“显示效果欠佳”的问题~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:39:53