c# - 将字符串 "20111027"转换为时区为 GMT 的 DateTime

标签 c# datetime

我有一个这种格式的字符串:“20111027”,即通用格式:“yyyyMMdd”。

如何将其转换为具有 timezone GMT 的 DateTime?

此代码进行一些转换,但不清楚将使用哪个时区:

DateTime date = DateTime.ParseExact(dateString, "yyyyMMdd",
                               CultureInfo.InvariantCulture);

最佳答案

使用 AssumeUniversalDateTimeStyles:

DateTime date = DateTime.ParseExact(dateString, "yyyyMMdd",
                                    CultureInfo.InvariantCulture,
                                    DateTimeStyles.AssumeUniversal);

来自docs of DateTimeStyles.AssumeUniversal :

If no time zone is specified in the parsed string, the string is assumed to denote a UTC.

听起来正是你想要的:)

(或者,您可以使用 Noda Time 并将其解析为 LocalDate。毕竟它只表示日期,那么为什么要使用关心时间和时区的类型呢?:)

关于c# - 将字符串 "20111027"转换为时区为 GMT 的 DateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7921626/

相关文章:

python - 转换 pandas 中的自定义日期格式

python - pandas 日期时间格式 删除时区

mysql - 如何按 MySQL 中 DateTime 字段的小时部分过滤查询?

reactjs - React-datetime + 在 React 中设置时间间隔

c# - 在 Compact Framework 中制作单个实例应用程序的最佳方法是什么?

c# - .NET 返回值优化

c# - switch语句是如何执行的?

javascript - 无法使用 JavaScript 计算时差

c# - 加载时的 Winforms ListView ItemCheck

c# - 有没有办法解决这个 c# 类型推断失败?