我正在尝试制作一个可以为酒店房间添加日期的应用程序,并获得日期之间的平均时间。我制作了2个日历,1个作为开始日期,另一个作为结束日期。当我在列表框中显示输出时,我不知道如何获得这些日期之间的日期。我需要它们来计算平均值。
我试图获取日期,但我对日期时间的事情感到困惑。
lbDates.Items.Add(string.Format("{0}, {1}, {2}, {3}", cmbBoxRoom.SelectedItem, tbBooking.Text, calArrival.SelectedDate, calDeparture.SelectedDate));
我怎样才能得到日期之间所以我可以用它来计算?
请参考以下代码
DateTime a = DateTime.Now;
Console.WriteLine("Start Date: " +Convert.ToString(a));
DateTime b = DateTime.Now.AddDays(5).AddHours(5);
//b = b.ToUniversalTime();
Console.WriteLine("End Date: " +Convert.ToString(b));
TimeSpan result = b - a;
//Your code goes here
Console.WriteLine(Convert.ToString(result));
两个变量a和b取值开始和结束日期的值。结果将显示Days.Hours:Minutes:Seconds之间的输出差异
检查以下链接
看起来你只想在两个日期之间获得时间。在C#中,使用DateTime.Subract()
方法很简单:
TimeSpan deltaTime = calDeparture.SelectedDate.Subtract(calArrival.SelectedDate);
或者您可以使用普通的旧-
运算符
Timespan deltaTime = calDeparture.SelectedDate - calArrival.SelectedDate;
这与使用Subtract
方法相同
deltaTime
时间变量是一个TimeSpan,保存两个日期之间的时间量,您现在可以(例如)执行deltaTime.Days
来获取两个日期之间的天数