簡體   English   中英

將字符串解析為DateType ASP.NET C#異常-無法將該字符串識別為有效的DateTime

[英]Parse string to DateType ASP.NET C# exception - The string was not recognized as a valid DateTime

所以我有一個這樣的日期。 我的目標是7天到這個字符串startdate ,並張貼到數據庫作為一個字符串。 但是,我必須將其轉換為日期時間,以便我可以增加天數。 我正在從數據庫中讀取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。

DateTime endtime2 = starttime2.AddDays(+7);

有人可以幫助我解決此問題嗎? 我是C#的新手,不勝感激。

謝謝

您實際上指定了錯誤的格式。 您應該指定以下格式:

"dd-MM-yyyy hh:mmtt"

由於您的日期格式如下:

"10-03-2018 03:15PM"

假設我們第一個數字是天,第二個數字是月,否則您可以交換這些數字。

您可以在此處查看有關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");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM