【问题标题】:Time stamp with Zone information带有区域信息的时间戳
【发布时间】:2014-12-07 09:18:30
【问题描述】:

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

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

【问题讨论】:

    标签: c# .net datetime formatting timezone


    【解决方案1】:

    你可以用这个

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

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

    【讨论】:

      【解决方案2】:

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

      这是正常的,因为 Z 不是 standardcustom 日期和时间格式。这就是为什么这个字符被复制到结果字符串unchanged

      我认为你的CurrentCulture 代表UTC Offset+0300 格式没有TimeSeparator,你可以直接使用The "K" custom format specifier 因为DateTime.Now 返回Local 作为DateTimeKind 喜欢;

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

      结果可能会是;

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

      【讨论】:

        猜你喜欢
        • 2020-11-27
        • 1970-01-01
        • 2021-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-18
        • 1970-01-01
        相关资源
        最近更新 更多