You need to enable JavaScript to run this app. C#如何格式化DateTime.UtcNow输出GMT+xx:xx格式时间字符串
优惠活动
大模型
产品
解决方案
定价
更多

C#如何格式化DateTime.UtcNow输出GMT+xx:xx格式时间字符串

问题原因

你遇到的格式差异是因为K格式符的输出规则和DateTime实例的Kind属性绑定:

  • DateTime.Now的Kind是Local,此时K会输出本地时区相对UTC的偏移量,格式为±HH:mm,所以你得到了GMT+00:00的结果
  • DateTime.UtcNow的Kind是Utc,此时K会直接输出代表UTC时区的Z,就出现了你看到的GMTZ异常结果

解决方案

推荐你用zzz格式符替代K,搭配DateTimeOffset使用可以稳定输出±HH:mm格式的时区偏移,调整后的代码如下:

var datetimeutc = DateTimeOffset.UtcNow.ToString("yyyy-MM-dd'T'HH:mm:ss'GMT'zzz");

运行后输出的格式就和你第一个示例完全一致,比如:2021-05-06T19:36:09GMT+00:00

如果你确认只用UTC时间,也可以直接硬编码偏移量,写法更简单:

var datetimeutc = DateTime.UtcNow.ToString("yyyy-MM-dd'T'HH:mm:ss'GMT+00:00'");

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.22 01:54:07