Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 格式化日期时区_C#_Datetime - Fatal编程技术网

C# 格式化日期时区

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对象。我想返回如下格式的字符串:

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

是否有一种内置方法可以在不使用以下内容的情况下格式化时区差?(不需要手动剥离:。不知道是否有任何复杂情况,如果我这样做的话)

看起来(我已经搜索过了),除了操作生成的字符串之外,没有其他方法。如果你使用
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框架中内置一些东西来实现这一点。