我发现这个问题已经在Java、JavaScript和PHP中得到了解答,但c#中没有。那么,如何在c#中计算两个日期之间的天数呢?
当前回答
在计算两个日期之间的天数时,经常会有关于时间(小时)的争论。对这个问题的回答和他们的评论都没有例外。
考虑到StartDate和EndDate是DateTime类型:如果性能不是问题,我强烈建议通过中间转换记录您的计算。例如,(EndDate - StartDate)。天是不直观的,因为舍入将依赖于StartDate和EndDate的小时组件。
如果您希望以天为单位的持续时间包括天的分数,那么如前所述 使用(结束日期-开始日期). totaldays。 如果你想要反映持续时间 两天之间的距离,然后使用(EndDate。日期-开始日期。日期).天 如果你想让持续时间反映 开始日期的上午和开始日期的晚上之间的持续时间 结束日期(通常在项目管理软件中看到),然后使用 (EndDate。日期-开始日期。日期)。天+ 1
其他回答
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
DateTime d = Calendar1.SelectedDate;
// int a;
TextBox2.Text = d.ToShortDateString();
string s = Convert.ToDateTime(TextBox2.Text).ToShortDateString();
string s1 = Convert.ToDateTime(Label7.Text).ToShortDateString();
DateTime dt = Convert.ToDateTime(s).Date;
DateTime dt1 = Convert.ToDateTime(s1).Date;
if (dt <= dt1)
{
Response.Write("<script>alert(' Not a valid Date to extend warranty')</script>");
}
else
{
string diff = dt.Subtract(dt1).ToString();
Response.Write(diff);
Label18.Text = diff;
Session["diff"] = Label18.Text;
}
}
你可以使用下面的代码:
int DateDifInSecond = EndDate.Subtract(StartDate).TotalSeconds
假设StartDate和EndDate是DateTime类型:
(EndDate - StartDate).TotalDays
// Difference in days, hours, and minutes.
TimeSpan ts = EndDate - StartDate;
// Difference in days.
int differenceInDays = ts.Days; // This is in int
double differenceInDays= ts.TotalDays; // This is in double
// Difference in Hours.
int differenceInHours = ts.Hours; // This is in int
double differenceInHours= ts.TotalHours; // This is in double
// Difference in Minutes.
int differenceInMinutes = ts.Minutes; // This is in int
double differenceInMinutes= ts.TotalMinutes; // This is in double
你也可以得到秒、毫秒和滴答的差异。
得到两个日期之间的差值,然后从下面得到日期:
int total_days = (EndDate - StartDate).TotalDays
推荐文章
- 虚拟方法和抽象方法的区别
- i++和++i的区别是什么?
- 可空对象必须有一个值
- 按类型查找WPF窗口中的所有控件
- 为什么我不能继承静态类?
- 如何在c#中获取CPU的使用情况?
- BindingFlags。IgnoreCase不为Type.GetProperty()工作?
- 我如何预填充一个jQuery Datepicker文本框与今天的日期?
- 使用私有静态方法的优点
- 一个任务被取消了?
- 新DateTime()与默认值(DateTime)
- 从Description属性中获取Enum
- 从包含文件名的路径获取不包含文件名的完整路径
- 如何从字符串的开始或结束删除所有空白?
- 为什么使用try {} finally{}和一个空的try块?