日期格式c#

3 c# datetime string-formatting

我可以获取DateTime.Now格式化为

2010-03-01T00:00:00Z
Run Code Online (Sandbox Code Playgroud)

我用它来格式化日期部分

DateTime.Now.Subtract(new TimeSpan(3001, 0, 0, 0)).GetDateTimeFormats()[5]
Run Code Online (Sandbox Code Playgroud)

Mar*_*own 5

以下所有示例均假设当地时间为伦敦时间,且为2009年6月11日下午5:11.

如果您想要完整的ISO 8601格式,您可以使用:

DateTime.Now.ToUniversalTime().ToString("o")
// Gives 2009-06-11T16:11:10.5312500Z
Run Code Online (Sandbox Code Playgroud)

或者,如果要指定时区偏移量:

DateTime.Now.ToString("o")
// Gives 2009-06-11T17:11:10.5312500+0100
Run Code Online (Sandbox Code Playgroud)

如果您不想要一秒钟的分数,您可以使用:

DateTime.Now.ToUniversalTime().ToString("s") + "Z"
// Gives 2009-06-11T16:11:10Z
Run Code Online (Sandbox Code Playgroud)

要么:

DateTime.Now.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssK")
// Also gives 2009-06-11T16:11:10Z
Run Code Online (Sandbox Code Playgroud)

请注意,以下内容是错误的,因为它将当地时间视为UTC时间,只有当您在伦敦这样的地方且冬季中间时才会这样:

DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ssZ")
// Gives 2009-06-11T17:11:10Z which is wrong as it is an hour out.
Run Code Online (Sandbox Code Playgroud)


Ada*_*per 4

是的,如果您使用 ToString,请查看 MSDN 页面以了解日期时间格式:

http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx