繁体   English   中英

计算两个日期之间的天数并将其显示在标签中

[英]Calculating the Number of Days between two Dates and displaying it in a Label

嗨,我正在尝试捕获用户在 C# 日历控件中选择的两个日期,我希望日期范围显示在标签中。 我已经制定了以下代码,但它生成了一个 Minus 值; 不是实际的日期范围。

DateTime from = CalFrom.SelectedDate;
DateTime to = CalTo.SelectedDate;
double days = (CalTo.SelectedDate - CalFrom.SelectedDate).TotalDays;
TimeSpan t = to - from;
double noOfDays = t.TotalDays;
TimeSpan ts = to - from;
double differnceindays = ts.TotalDays;
lblNoofDays.Text = differnceindays.ToString();

这段代码非常适合我计算两天之间的天数。

DateTime d1 = DateTime.Now;
DateTime d2 = DateTime.Now.AddDays(10);
TimeSpan difference = d2 - d1;      
var days = difference.TotalDays;
 DateTime.Now.Subtract(startDate).Days.ToString();

尝试计算两个日期之间的天数

string days = (date2 - date1).Value.Days.ToString();

我看到的唯一问题是您假设开始日期和结束日期将被正确范围检查,这意味着开始日期永远不会大于结束日期(这会产生总天数的负值)。 如果您想纠正开始日期可能晚于结束日期的事实,那么这应该可行。

DateTime startDate = DateTime.Now.AddDays(-94); // Example random 94 day span..
DateTime endDate = DateTime.Now;
TimeSpan duration = endDate > startDate ? endDate - startDate : startDate - endDate;
double daysBetweenDates = duration.TotalDays;

注意:“daysBetweenDates”将包括小数天数(因此是双精度型)。 此外,上面的代码假定本地时间。 如果你想要UTC,你需要考虑到这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM