将两个日期时间变量合并为一个(精确到秒)
本文关键字:一个 变量 两个 日期 时间 合并 | 更新日期: 2023-09-27 18:24:35
我有一个小问题似乎无法解决。我有两个日期时间变量,其中重要的数据是年、月和日。另一个datetime变量存储小时、分钟和秒。
造成这种混乱的原因是我从中提取数据的数据库,它们有两个不同的列来存储实际日期和时间。这是代码:
DateTime date = Convert.ToDateTime(dTable.Rows[i][0]);
DateTime time = Convert.ToDateTime(dTable.Rows[i][1]);
DateTime newDateTime = new DateTime();
newDateTime需要设置完整的日期时间,其中日期分数在日期变量中,时间分数在时间变量中。
这应该做:
newDateTime = date.Date + time.TimeOfDay;
使用此构造函数:
DateTime newDateTime = new DateTime(date.Year, date.Month, date.Day,
time.Hour, time.Minute, time.Second);
DateTime newDateTime = date.Date.Add(time.Time);
Date
属性排除任何时间分量(实际上是指定日期的午夜),而Time
属性仅将时间分量作为TimeSpan
返回。
在这里,我们取date
变量的日期部分来获得午夜,并将time
变量的时间分量添加到其中,以获得正确的日期和时间。
你可以在下面做这样的事情
TimeSpan timeSpan = time.TimeOfDay;
string s = string.Format("{0} {1}", date.Date.ToString("MM dd yyyy"), time.ToString());
DateTime combinedDateTime = DateTime.Parse(s);