【问题标题】:Convert string with date & UTC offset to DateTime [duplicate]将带有日期和 UTC 偏移量的字符串转换为 DateTime [重复]
【发布时间】:2017-01-26 08:42:07
【问题描述】:

我正在尝试将字符串 "20160918000500 +0200" 解析为包含偏移值 "+0200"DateTime

我尝试了以下方法,但它给出了无效的DateTime 异常。

DateTime dtDateTime = DateTime.Parse("20160918000500 +0200",new CultureInfo("yyyyMMddHHmmss zzz"));

有没有办法用UTC offset valueString 完全转换为Datetime

【问题讨论】:

标签: c# datetime utc timezone-offset


【解决方案1】:

要保留您的偏移量,请使用DateTimeOffset.ParseExact 方法:

string str = "20160918000500 +0200";
var result = DateTimeOffset.ParseExact(str, "yyyyMMddHHmmss zzz", CultureInfo.InvariantCulture);
Console.WriteLine(result);

【讨论】:

    【解决方案2】:

    我建议尝试 DateTime 类的ParseExact 方法之一

    【讨论】:

    • 解析DateTimeOffset而不是DateTime会更好,因为字符串包含UTF偏移部分。
    猜你喜欢
    • 1970-01-01
    • 2022-06-27
    • 2021-08-21
    • 2011-03-22
    • 2021-10-08
    • 2016-02-28
    • 1970-01-01
    • 2021-04-19
    • 2016-10-07
    相关资源
    最近更新 更多