簡體   English   中英

轉換為DateTime時,字符串未被識別為有效的DateTime

[英]String was not recognized as a valid DateTime when converting to DateTime

我正在嘗試將字符串轉換為DateTime,然后將其插入到sql中。 在我的本地計算機中一切正常,但在服務器上應用程序拋出異常:

String was not recognized as a valid DateTime

我使用Textboxs來創建一個這樣的日期時間對象:

在此輸入圖像描述

我正在用這一行來建立日期:

start = startEventTB.Text + " " + ShourDD.SelectedValue + ":" + SminuteDD.SelectedValue;
        end = endEventTB.Text + " " + EhourDD.SelectedValue + ":" + EminuteDD.SelectedValue;

然后轉換它

這是按鈕點擊后的代碼:

 act_event add_event = new act_event();
        string start, end;
        DateTime strt_date = new DateTime();
        DateTime end_date = new DateTime();

        add_event.name = name_event.Text;

        start = startEventTB.Text + " " + ShourDD.SelectedValue + ":" + SminuteDD.SelectedValue;
        end = endEventTB.Text + " " + EhourDD.SelectedValue + ":" + EminuteDD.SelectedValue;

        strt_date = Convert.ToDateTime(start); //This is the line that throws the error
        add_event.start = strt_date;



        end_date = Convert.ToDateTime(end);
        add_event.end = end_date;

        add_event.description = des_event.Text;

        add_event.address = loc_event.Text;


        db.add_event(add_event);

然后我明白了:

在此輸入圖像描述

您遇到的問題很可能與格式問題有關。 由於DateTime有許多不同的格式化方式,因此Convert.ToDateTime( ... )可能使用的格式與hour\\minute格式不同。

嘗試使用DateTime.Parse \\ DateTime.TryParse \\ DateTime.ParseExact

看到:

請參閱自定義日期和時間格式字符串以格式化字符串

  1. 這可能是格式\\本地化問題,不同的機器可能設置為不同的區域設置,並期望日期以不同的方式寫入。

  2. 我想你會讓自己陷入不必要的麻煩之中。 為什么首先創建字符串只是為了稍后解析它? 做類似的事情會不會更容易 -

    date = new DateTime(date.year,date.month,date.day,HH,MM,SS);

與控件的數據?

暫無
暫無

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

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