如何使用c#计算两天内的日期时间? [复制]

Posted

技术标签:

【中文标题】如何使用c#计算两天内的日期时间? [复制]【英文标题】:how to calculate date period in two days using c#? [duplicate] 【发布时间】:2019-10-20 14:37:10 【问题描述】:

我的 SQL Server 数据库中有一个日期,我想计算从那天到今天有多少个日期。想象一下,我在5/31/2019 中创建了一张发票,它保存在数据库中,今天(6/5/2019) 我要为其创建付款收据,现在我要计算日期期间。

【问题讨论】:

不,我想从数据库中获取一个日期,而另一个日期是今天的日期.. @ShaniRathnayake 当你说你想计算“日期期间”时,这是什么意思?您能否针对您在问题中提到的场景显示您的预期输出? @akg179 当 (5/31/2019) - (6/5/2019) 答案应该是 5 天 好的,谢谢大家的帮助。我找到了答案。 while (Dr2.Read()) textBox1.Text = Dr2["Date"].ToString(); DateTime s1 = DateTime.Parse(TxtReceiptD.Text); DateTime s2 = DateTime.Parse(Dr2["Date"].ToString());时间跨度 T = s1 - s2;整数天 = (int)T.TotalDays; TxtMonthIntAmt.Text = days.ToString(); 【参考方案1】:

例如:

DateTime StartDate = DateTime.Now.AddDays(-2);
DateTime EndDate = DateTime.Now;
double days = (EndDate - StartDate).TotalDays;
Debug.WriteLine(days);

【讨论】:

OP 正在尝试获取 int ,他只需要 Date 之间的差异。【参考方案2】:

如果您有两个 DateTime 并且您想在这两个日期之间进行计算,您可以减去 Dates 并从中得到 Days

类似的,

DateTime ReceiptDate = new DateTime(2019, 05, 31)
int difference = (DateTime.Now  - ReceiptDate).Days //ReceiptDate is type of DateTime which is converted from database value
Console.WriteLine(difference);

输出:

5

POC:.net Fiddle

【讨论】:

【参考方案3】:

我能想到的唯一方法是为每一天分配一个数值,确保考虑到闰年。例如,1 月 8 日将是 8,因为它是一年中的第 8 天。 2 月 8 日是 39 日。要计算已经过去了多少天,只需从第二个日期中减去第一个日期。所以从 1 月 8 日到 2 月 8 日是 (39-8) = 31 天。

【讨论】:

我想要它的 c# 代码 等等,你想让别人真正为你写吗?抱歉,我以为你只是想知道你会怎么做。

以上是关于如何使用c#计算两天内的日期时间? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

获取七天内的日期和整点时间

如何使用与日期键匹配的字典填充表格视图

流动比较日期

当时间范围在两天之间时如何获取特定时间范围内的记录

Sql Server函数日期时间函数日期查询今天昨天7天内30天的数据

SQL 根据当前日期减去两天选择记录