合并字符串中的日期和时间并转换为日期时间
Combine date and time from string and convert to datetime
我有 2 个字符串 (date(13/04/2021),time("06:30")),我想将它们组合成日期时间格式,但出现以下错误。
System.FormatException: 'String was not recognized as a valid DateTime.'
我做错了什么?
如果我将模板格式更改为“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 string 转换为 dateTime 'tempdate',然后在下一行将其转换回 string。
我要做的是像您一样转换日期并分别解析时间,而不是将它们加在一起。
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);
我有 2 个字符串 (date(13/04/2021),time("06:30")),我想将它们组合成日期时间格式,但出现以下错误。
System.FormatException: 'String was not recognized as a valid DateTime.'
我做错了什么?
如果我将模板格式更改为“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 string 转换为 dateTime 'tempdate',然后在下一行将其转换回 string。
我要做的是像您一样转换日期并分别解析时间,而不是将它们加在一起。
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);