我发现这个问题已经在Java、JavaScript和PHP中得到了解答,但c#中没有。那么,如何在c#中计算两个日期之间的天数呢?
当前回答
得到两个日期之间的差值,然后从下面得到日期:
int total_days = (EndDate - StartDate).TotalDays
其他回答
DateTime xmas = new DateTime(2009, 12, 25);
double daysUntilChristmas = xmas.Subtract(DateTime.Today).TotalDays;
如果有人想要作为双精度的天数(a, b类型的DateTime):
(a.Date - b.Date).TotalDays
在计算两个日期之间的天数时,经常会有关于时间(小时)的争论。对这个问题的回答和他们的评论都没有例外。
考虑到StartDate和EndDate是DateTime类型:如果性能不是问题,我强烈建议通过中间转换记录您的计算。例如,(EndDate - StartDate)。天是不直观的,因为舍入将依赖于StartDate和EndDate的小时组件。
如果您希望以天为单位的持续时间包括天的分数,那么如前所述 使用(结束日期-开始日期). totaldays。 如果你想要反映持续时间 两天之间的距离,然后使用(EndDate。日期-开始日期。日期).天 如果你想让持续时间反映 开始日期的上午和开始日期的晚上之间的持续时间 结束日期(通常在项目管理软件中看到),然后使用 (EndDate。日期-开始日期。日期)。天+ 1
我认为这会达到你的目的:
DateTime d1 = DateTime.Now;
DateTime d2 = DateTime.Now.AddDays(-1);
TimeSpan t = d1 - d2;
double NrOfDays = t.TotalDays;
你可以使用下面的代码:
int DateDifInSecond = EndDate.Subtract(StartDate).TotalSeconds
推荐文章
- 实体框架核心:在上一个操作完成之前,在此上下文中开始的第二个操作
- 如何为构造函数定制Visual Studio的私有字段生成快捷方式?
- 如何使用JSON确保字符串是有效的JSON。网
- AppSettings从.config文件中获取值
- 通过HttpClient向REST API发布一个空体
- 如何检查IEnumerable是否为空或空?
- 自动化invokerrequired代码模式
- 解析日期字符串并更改格式
- 在c#代码中设置WPF文本框的背景颜色
- 在c#中,什么是单子?
- c#和Java中的泛型有什么不同?和模板在c++ ?
- Java SimpleDateFormat("yyyy-MM-dd' t ' hh:mm:ss' z '")给出的时区为IST
- c#线程安全快速(est)计数器
- 如何将此foreach代码转换为Parallel.ForEach?
- 如何分裂()一个分隔字符串到一个列表<字符串>