【问题标题】:Converting string to Datetime using TryParseExact使用 TryParseExact 将字符串转换为日期时间
【发布时间】:2018-04-27 08:40:34
【问题描述】:

日期时间字符串值为“20170721T114700Z”。

如何使用 DateTime.TryParseExact 将上述字符串转换为 DateTime?

下面的代码怎么样?有人可以纠正这个问题吗?

DateTime dateTime = DateTime.Now;
string rawValue = "20170721T114700Z";

if(DateTime.TryParseExact(rawValue , DateTimeFormats.IndexDateTimeFormat, null, DateTimeStyles.None, out dateTime))
{
    //rest of the code...
}

【问题讨论】:

    标签: c# datetime-format


    【解决方案1】:

    使用这个:

    if (DateTime.TryParseExact(rawValue, "yyyyMMdd'T'hhmmss'Z'", null, DateTimeStyles.None, out dateTime))
    {
        //rest of the code...
    }
    

    更新

    对于 24 小时格式 - "yyyyMMdd'T'HHmmss'Z'"

    Fiddle example

    【讨论】:

    • 使用 DateTimeFormats 枚举怎么样?
    • @Sameera 我不熟悉那个枚举,它在哪个程序集中?
    • @SeM 抱歉,它来自自定义 dll
    • @Sameera 的问题是,第二个参数应该是stringstring[],它不能是枚举,所以如果你的代码编译,那么DateTimeFormats.IndexDateTimeFormatstring (或string[])。
    • @Sameera 如果您的字符串是 24 小时格式,则使用 HH 而不是 hh
    猜你喜欢
    • 2015-09-17
    • 1970-01-01
    • 2022-08-18
    • 2017-08-31
    相关资源
    最近更新 更多