我要求将带有区域信息的时间戳记作为
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
答案 0 :(得分:1)
您可以使用此
var now = DateTime.Now;
Console.WriteLine(now.ToString("yyyy-MM-ddTHH:mm:ss")
+ now.ToString("zzz").Replace(":", string.Empty));
删除":"来自zzz格式字符串不是.NET中的内置函数,删除它的最简单方法是替换它。
答案 1 :(得分:1)
但是它给了我这种格式的输出2014-12-05T08:37:25Z
这是正常的,因为Z
不是standard或custom日期和时间格式。这就是为什么将这个字符复制到结果字符串不变的。
我认为您的CurrentCulture
代表UTC Offset +0300
格式而不TimeSeparator
,您可以直接使用The "K"
custom format specifier,因为DateTime.Now
返回{{1} }}作为Local
喜欢;
DateTimeKind
结果可能是;
DateTime.Now.ToString("yyyy-MM-dd'T'HH:mm:ssK");