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

使用ISO8601格式时,如何控制DateTimeOffset的毫秒精度?

问题解答
  • 无法通过ToString("O")实现目标格式:"O"(往返格式)是.NET中固定的ISO 8601扩展格式,它强制保留7位小数的毫秒部分,无法调整小数位数,因此不能直接用它生成仅保留3位毫秒的结果。
  • 你找到的自定义格式方案是有效的:DateTimeOffset.Now.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffK")确实能输出符合要求的格式,其中fff对应3位毫秒,K对应时区偏移信息。
  • 可简化格式字符串写法:格式字符串中的单引号用于转义固定字符,但此处的分隔符(-、:、T)在格式规则中无需转义,可简化为:
    var data = DateTimeOffset.Now.ToString("yyyy-MM-dd'T'HH:mm:ss.fffK");
    
    该写法与原代码效果完全一致,更简洁易读。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 20:12:35