带有区域信息的时间戳

本文关键字:时间戳 信息 区域 | 更新日期: 2023-09-27 18:33:20

我需要获取带有区域信息的时间戳

2014-12-05T08:37:25+0300

为了实现这一点,我使用时间格式作为

DateTime.Now.ToString("yyyy-MM-dd'T'HH:mm:ssZ")

但它给了我这种格式的输出

2014-12-05T08:37:25Z

任何人都可以知道如何以这种格式获取时区信息

2014-12-05T08:37:25+0300

带有区域信息的时间戳

你可以使用这个

 var now = DateTime.Now;
 Console.WriteLine(now.ToString("yyyy-MM-ddTHH:mm:ss")
                    + now.ToString("zzz").Replace(":", string.Empty));

从 zzz 格式字符串中删除 ":" 不是 .NET 中的内置函数,删除它的最简单方法是替换它。

但它给了我这种格式的输出 2014-12-05T08:37:25Z

这是正常的,因为Z不是标准或自定义的日期和时间格式。这就是将此字符原封不动地复制到结果字符串的原因。

我认为您的CurrentCulture表示 UTC 偏移量,格式+0300没有TimeSeparator,您可以直接使用 "K"自定义格式说明符,因为DateTime.NowDateTimeKind的形式返回Local;

DateTime.Now.ToString("yyyy-MM-dd'T'HH:mm:ssK");

结果可能是;

2014-12-05T08:37:25+0300