c# - 检查 DateTime 是否为 UTC 格式

标签 c# date datetime formatting

我对日期时间格式有疑问。
我有一个字符串,代表我的日期时间: “2014-08-01T10:12:11.0Z”。实际上,据我了解,它是 utc 格式的日期时间,因为“Z”显示与 UTC 的偏移量。

然后我尝试执行

DateTime.TryParseExact("2014-08-01T10:12:11.0Z", "yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out value_);

(其中 value_ 只是我新创建的 DateTime 对象)只是为了检查我的字符串是否代表 UTC 时间。这个表达给了我“假”的感觉。

所以,我想知道,我应该传递什么格式而不是“yyyy-MM-ddTHH:mm:ssZ”或者我应该更改其他格式?

最佳答案

该字符串末尾的 .0 是十分之一秒,因此您需要为其添加解析字符:F

此外,Z 的解析字符是 K,而不是 Z

因此,要解析该字符串,您需要执行以下操作:

DateTime.TryParseExact("2014-08-01T10:12:11.0Z", "yyyy-MM-ddTHH:mm:ss.FK", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out value);

另请注意,如果您希望解析字符串中的时区信息(即,如果它不是 UTC 时间),则看起来像这样,其中 Z 替换为时区偏移量、+ve 或 -ve:

"2014-08-01T10:12:11.0-07:00" // Note time zone offset at the end.

关于c# - 检查 DateTime 是否为 UTC 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38308458/

相关文章:

java - 常规字符串到日期转换并添加天数

java - 按降序排列日期

date - 在mongodb中按日期分组

c# - 转换为 DateTime 对象

c# - 在 C# 中,显示可缩放和平移视频的好方法是什么?

c# - ASP.NET MVC 3 EF Code First - 也使用现有数据库

php - 如何在 php 中减去两个日期

php - CakePHP 在登录时保存日期/时间

c# - 如何获取 Mono Xamarin Android 应用程序路径文件夹?

c# - 使用 Json.NET 反序列化复杂对象