我需要结合日期和时间并插入一个日期时间行。
这是我的代码:
DateTime Headlinedate;
try
{
DateTime date = Convert.ToDateTime(txtHeadlinedate.Text.Trim(), Ci);
string timestr = DateTime.Now.ToString("hh:mm:ss tt");
DateTime combinedDate = date.Add(TimeSpan.Parse(timestr));
Headlinedate = combinedDate;
}
catch {
Headlinedate = DateTime.Now;
}
我得到例外:
输入字符串的格式不正确
答案 0 :(得分:4)
如果第一行代码出现此异常,则必须确保txtHeadlinedate
的内容有效并进行相应的解析。
如果错误来自对TimeSpan.Parse
的调用,则以下版本应解决问题:
DateTime date = Convert.ToDateTime(txtHeadlinedate.Text.Trim(), Ci);
Headlinedate = date.Add(DateTime.Now.TimeOfDay);
答案 1 :(得分:2)
TimeSpan无法解析“tt”。使用DateTime对其进行解析,或者使用HH:mm格式获取24小时的小时值并从格式中删除tt部分。然后TimeSpan将能够解析它。例如:
DateTime date = Convert.ToDateTime(txtHeadlinedate.Text.Trim(), Ci);
string timestr = DateTime.Now.ToString("HH:mm:ss");
DateTime combinedDate = date.Add(TimeSpan.Parse(timestr));
Headlinedate = combinedDate;
答案 2 :(得分:0)
date.Hour=DateTime.Now.Hour;
date.Minute=DateTime.Now.Minute;
date.Second=DateTime.Now.Second;
答案 3 :(得分:0)
使用DateTime.TryParse
并传递txtHeadlinedate.Text.Trim()
值
DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime)
用于增加时间跨度值 要么使用
DateTime myDate = ExistingTime.Date.AddHours(hh).AddMinutes(min);
或 //计算从这一刻起36天的星期几(如下所示)
System.DateTime today = System.DateTime.Now; System.TimeSpan duration = new System.TimeSpan(36, 0, 0, 0); System.DateTime answer = today.Add(duration);
答案 4 :(得分:0)
我想这应该可行
DateTime Headlinedate;
try
{
DateTime date = Convert.ToDateTime(txtHeadlinedate.Text.Trim(), Ci);
string timestr = DateTime.Now.ToString("MM/dd/yyyy HH:MM:ss");// here is the solution
DateTime combinedDate = date.Add(TimeSpan.Parse(timestr));
Headlinedate = combinedDate;
}
catch {
Headlinedate = DateTime.Now;
}
答案 5 :(得分:0)
DateTime date = Convert.ToDateTime(txtHeadlinedate.Text.Trim(), Ci);
DateTime combinedDate = new DateTime(date.Year, date.Month, date.Day, DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
答案 6 :(得分:-1)
这有效!
background-size: cover;