如何获取每行的列表框中的日期?

问题描述 投票:0回答:2

我正在尝试制作一个可以为酒店房间添加日期的应用程序,并获得日期之间的平均时间。我制作了2个日历,1个作为开始日期,另一个作为结束日期。当我在列表框中显示输出时,我不知道如何获得这些日期之间的日期。我需要它们来计算平均值。

我试图获取日期,但我对日期时间的事情感到困惑。

lbDates.Items.Add(string.Format("{0}, {1}, {2}, {3}", cmbBoxRoom.SelectedItem, tbBooking.Text, calArrival.SelectedDate, calDeparture.SelectedDate));

我怎样才能得到日期之间所以我可以用它来计算?

c# date combobox listbox average
2个回答
1
投票

请参考以下代码

            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之间的输出差异

检查以下链接

https://rextester.com/PZQ26216


0
投票

看起来你只想在两个日期之间获得时间。在C#中,使用DateTime.Subract()方法很简单:

TimeSpan deltaTime = calDeparture.SelectedDate.Subtract(calArrival.SelectedDate);

或者您可以使用普通的旧-运算符

Timespan deltaTime = calDeparture.SelectedDate - calArrival.SelectedDate;

这与使用Subtract方法相同

deltaTime时间变量是一个TimeSpan,保存两个日期之间的时间量,您现在可以(例如)执行deltaTime.Days来获取两个日期之间的天数

© www.soinside.com 2019 - 2024. All rights reserved.