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

如何格式化带毫秒精度且左补零的DateTime字符串?

解决方案:无直接内置格式,但有简洁替代写法

很遗憾,.NET 的 DateTime.ToString() 并没有直接支持这种“3位毫秒左补零到4位”的内置格式字符串。原因在于:

  • fff 是专门用来格式化3位毫秒的(范围 000-999);
  • ffff 对应的是4位小数秒(精度到100微秒,因为 DateTime 的最小单位是100纳秒),它会显示包含微秒部分的4位数字,而非把毫秒补零到4位。

不过你不用拆分成秒和亚秒再拼接,有个更简洁的小技巧可以实现需求:在格式字符串里直接硬编码一个前导的0,再拼接3位毫秒:

DateTime date = DateTime.Now;
string result = date.ToString("yyyyMMddHHmmss'0'fff");

比如当毫秒是123时,这个写法会输出类似 202405201430250123,完美符合你要的格式。

另外,如果你觉得硬编码单引号不够直观,也可以用字符串插值来实现,可读性同样不错:

string result = $"{date:yyyyMMddHHmmss}0{date:fff}";

这两种写法都比拆分日期组件再拼接要简洁得多,而且完全满足API的格式要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 09:02:53