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)
以下所有示例均假设当地时间为伦敦时间,且为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)