DateTimeKind.Utc 与 DateTimeKind.Local

这两个产生相同的结果,但我预计它们会在 6 小时内关闭。我不明白什么?


Console.WriteLine(new DateTime(1970, 1, 1, 12, 1, 0, DateTimeKind.Utc).ToString("R"));

\\ Thu, 01 Jan 1970 12:01:00 GMT


Console.WriteLine(new DateTime(1970, 1, 1, 12, 1, 0, DateTimeKind.Local).ToString("R"));

\\ Thu, 01 Jan 1970 12:01:00 GMT


浮云间
浏览 501回答 2
2回答

哔哔one

这与您使用的格式有关。根据微软文档:“R”或“r”标准格式说明符表示由 DateTimeFormatInfo.RFC1123Pattern 属性定义的自定义日期和时间格式字符串。该模式反映了定义的标准,并且该属性是只读的。因此,无论使用何种区域性或提供的格式提供程序,它总是相同的。自定义格式字符串是“ddd, dd MMM yyyy HH':'mm':'ss 'GMT'”。使用此标准格式说明符时,格式化或解析操作始终使用不变区域性。编辑:“R”或“r”格式不表示显示的时间是 UTC 时间。它只是说他们使用格式“ddd, dd MMM yyyy HH':'mm':'ss 'GMT'”。GMT 字符串有点混乱,但它只是一个在这里没有意义的字符串......
打开App,查看更多内容
随时随地看视频慕课网APP