将字符串解析为 C# 异常 ASP.NET 日期类型 - 该字符串未被识别为有效的日期时间



所以我有一个这种格式的日期。我的目标是向此字符串startdate添加 7 天,并将其作为字符串发布到数据库中。但是,我必须将其转换为日期时间才能允许我向其添加天数。我正在从数据库中读取startdate,但这就是它的样子。

string startdate = "10-03-2018 03:15PM";
IFormatProvider culture = new CultureInfo("en-US", true);
DateTime starttime2 = DateTime.ParseExact(startdate, "MM/dd/yyyy HH:mm tt", culture); 

它在上面的行上中断并出现错误 - 该字符串未被识别为有效的日期时间。

DateTime endtime2 = starttime2.AddDays(+7);

有人能帮我解决这个问题吗?我是C#的新手,希望得到任何帮助。

谢谢

您实际上指定了错误的格式。应指定以下格式:

"dd-MM-yyyy hh:mmtt"

由于您的日期格式为:

"10-03-2018 03:15PM"

假设第一个数字 us 表示天,第二个数字是月份,否则您可以交换它们。

您可以在此处查看有关ParseExact用法的更多详细信息。

试试这个:

    string startdate = "10-03-2018 03:15PM";
    IFormatProvider culture = new CultureInfo("en-US", true);
    DateTime starttime2 = DateTime.ParseExact(startdate, "dd-MM-yyyy hh:mmtt", culture);

mm和TT之间没有空格,这也是12小时的格式,所以hh

我认为这会对你有所帮助

    public static DateTime AddDaysToMyDate(string date)
    {
        return DateTime.ParseExact(date, "dd-MM-yyyy hh:mmtt", new CultureInfo("en-US", true)).AddDays(7);
    }

将其用作

DateTime newDateTime = AddDaysToMyDate("10-03-2018 03:15PM");

最新更新