【问题标题】:How to parse "5/17/2018 12:00:00 PM" string to DateTime? [closed]如何将“5/17/2018 12:00:00 PM”字符串解析为 DateTime? [关闭]
【发布时间】:2020-01-07 23:47:43
【问题描述】:

我尝试使用 DateTime.Parse 和 DateTime.ParseExact 以及我制作的某些格式“5/17/2018 12:00:00 PM”,但不幸的是,每次测试都导致:'字符串未被识别为有效约会时间。' 这是我尝试的最后一件事。

public DateTime Convert_date(string date)
    {
        DateTime dt = new DateTime();

        string format ="M/d/yyyy h/mm/ss tt";

        if(DateTime.TryParseExact(date, format, CultureInfo.InvariantCulture, DateTimeStyles.None, 
        out dt))
        {
            return dt;
        }

        MessageBox.Show("The string couldn't be converted to date time!");
        return dt;
    }

【问题讨论】:

  • var date = DateTime.Parse("5/17/2018 12:00:00 PM"); 适合我。此外,您的自定义格式字符串在小时、分钟和秒之间具有 '/' 字符,而实际示例字符串具有 ':' 字符。
  • 谢谢,睡眠不足让人感觉到它的存在,我不知道我是怎么错过的。现在它正在工作

标签: c# datetime datetime-format


【解决方案1】:

在字符串格式中,您有/ 时间。试试这个

string format ="M/d/yyyy h:mm:ss tt";

【讨论】:

  • 它现在可以工作了,谢谢 :D 我不知道我是怎么错过的......
  • @AlexandruGazdac 我讨厌这种很难发现的错别字:D
【解决方案2】:
public DateTime Convert_date(string date)
{
    DateTime dt = new DateTime();

    string format ="M/d/yyyy h:mm:ss tt";

    if(DateTime.TryParseExact(date, format, CultureInfo.InvariantCulture, 
    DateTimeStyles.None, 
    out dt))
    {
        return dt;
    }

    MessageBox.Show("The string couldn't be converted to date time!");
    return dt;
}

请试一试,因为 M/d/yyyy h/mm/ss tt 不是有效格式。希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    • 2018-08-24
    • 1970-01-01
    相关资源
    最近更新 更多