C# 生成带有ToString(";u";)和小时前的T的日期字符串

C# 生成带有ToString(";u";)和小时前的T的日期字符串,c#,datetime,C#,Datetime,我正在用.NETFramework4.5开发一个C#库 我需要生成此日期字符串:2015-12-01T07:54:20Z 但是现在我正在生成这个日期字符串:2015-12-01 07:54:20Z(与上一个相同,但没有T) 要生成该日期,我使用以下代码:DateTime.Now.ToUniversalTime().ToString(“u”) 如何使用T生成其他日期字符串?您可以编写完整格式的DateTime.Now.ToUniversalTime().ToString(“yyy-MM-ddTHH

我正在用.NETFramework4.5开发一个C#库

我需要生成此日期字符串:
2015-12-01T07:54:20Z
但是现在我正在生成这个日期字符串:
2015-12-01 07:54:20Z
(与上一个相同,但没有
T

要生成该日期,我使用以下代码:
DateTime.Now.ToUniversalTime().ToString(“u”)


如何使用T生成其他日期字符串?

您可以编写完整格式的
DateTime.Now.ToUniversalTime().ToString(“yyy-MM-ddTHH:MM:ssZ”)

或者使用不太优雅的解决方案
ToString(“u”)。替换(“,“T”)

HH表示24小时格式,HH表示12小时格式

DateTime.UtcNow.ToString("yyyy-MM-ddTHH\:mm\:ss.fffffffzzz");
给你2015-12-18T13:57:31.2311892-04:00

为您提供2015-12-18T14:01:54.9571247Z

您的格式(不带尾随的
Z
)称为,它具有预定义的格式说明符
“s”

屈服

2015-12-18T09:04:58Z

你读过这个问题吗?这些不是OP想要的。字符串中的反斜杠有问题。要么转义它们,要么使用逐字字符串文本(
@“…”
)。您的第一个示例甚至无法编译。不要使用
DateTime.Now.ToUniversalTime()
;使用
DateTime.UtcNow
。它更清洁,也更高效<代码>日期时间。现在将UTC时间转换为本地时间,这是一件非常重要的事情。是
12
还是
01
几个月?
DateTime.UtcNow.ToString("s") + "Z"
2015-12-18T09:04:58Z