C# 格式化日期时区
我有一个DateTime对象。我想返回如下格式的字符串: 2010年6月6日星期四16:00:00+0200 这是我目前的代码:C# 格式化日期时区,c#,datetime,C#,Datetime,我有一个DateTime对象。我想返回如下格式的字符串: 2010年6月6日星期四16:00:00+0200 这是我目前的代码: DateTime.Now.ToString("ddd, dd MMMM yyyy HH:mm:ss zzz"); 结果: 2010年6月10日星期四18:33:14+02:00 是否有一种内置方法可以在不使用以下内容的情况下格式化时区差?(不需要手动剥离:。不知道是否有任何复杂情况,如果我这样做的话)看起来(我已经搜索过了),除了操作生成的字符串之外,没有其他方法。
DateTime.Now.ToString("ddd, dd MMMM yyyy HH:mm:ss zzz");
结果:
2010年6月10日星期四18:33:14+02:00
是否有一种内置方法可以在不使用以下内容的情况下格式化时区差?(不需要手动剥离:。不知道是否有任何复杂情况,如果我这样做的话)看起来(我已经搜索过了),除了操作生成的字符串之外,没有其他方法。如果你使用zz
你只会得到“+02”。。。然后,您可以附加00,而不是“搜索”(regex或其他)最后一个:并删除它DateTimeFormatInfo
允许知道h:m:s、d/m/y的分隔符,但不知道时区;此外,如果DateTimeFormatInfo.TimeSeparator也影响时区(即h:m),则不能搜索:因为它不能在所有地区都工作,所以应该搜索DateTimeFormatInfo.TimeSeparator;或zz并在末尾附加00。。。现在,我的想法就是帮助你。注意,你可以用“o”来表示时区的完整日期时间。它可以用于日志内容
DateTime.Now.ToString("o") => 2012-08-17T17:31:19.7538909+08:00
可能是。。。但是zz只返回+04。这取决于保持正确的时区有多重要。如果需要正确的精确计时,请去除:,否则+/-30分钟的误差是可接受的好问题(+1)。我也想知道什么。我需要知道日期在哪个时区。我们有一个用Java编写的系统,其中有很多数据错误——但我一直希望在.net框架中内置一些东西来实现这一点。