簡體   English   中英

結合字符串中的日期和時間並轉換為日期時間

[英]Combine date and time from string and convert to datetime

我有 2 個字符串 (date(13/04/2021),time("06:30")),我想將它們組合成 datetime 格式,但出現以下錯誤。

System.FormatException: '字符串未被識別為有效的日期時間。'

我做錯了什么?

如果我將臨時日期格式更改為“yyyy-dd-MM”,則會出現錯誤

 var type = form["GymType"];
            var time = form["states_ddl"];
            var date = form["date2"];
            var username = form["username"];
            var numberofpersons = 0;
            if (type == "2")
            {
                //gym
                numberofpersons = 9;
            }
            else
            {
                //cross
                numberofpersons = 5;
            }

            Booking toadd = new Booking();
            var currenduser = User.Identity.GetUserId();
            var tempdate = DateTime.ParseExact(date , "dd/MM/yyyy", CultureInfo.InvariantCulture);
            DateTime d = DateTime.ParseExact(tempdate + " " + time, "yyyy-dd-MM HH:mm", CultureInfo.InvariantCulture); 

在此處輸入圖像描述

您所做的是將 de 字符串轉換為 dateTime 'tempdate',然后在下一行將其轉換回字符串。
我要做的是像你一樣轉換日期並單獨解析時間,而不是將它們加在一起。

    var tempdate = DateTime.ParseExact(date , "dd/MM/yyyy", CultureInfo.InvariantCulture);
    var timspan = TimeSpan.Parse(time);
    DateTime d = tempdate.Add(timspan);

您可以使用轉換來做到這一點

var date = Convert.ToDateTime("13/04/2021 06:30");

嘗試這個

string d = "13/04/2021";
string t = "10:30PM";
string dateAndTime = d.Trim() + ' ' + t.Trim();
DateTime dt = DateTime.ParseExact(dateAndTime, "MM/dd/yyyy hh:mmtt", 
              CultureInfo.InvariantCulture, DateTimeStyles.None);
dt = DateTime.Parse(dateAndTime, CultureInfo.InvariantCulture, 
     DateTimeStyles.None);

暫無
暫無

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

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