gpt4 book ai didi

c# - 一个月过去了吗?

转载 作者:太空狗 更新时间:2023-10-30 00:59:14 25 4
gpt4 key购买 nike

在我的数据库中,我有一个包含一些订阅信息的表。我有一个 StartDate 和一个 EndDate 作为 DateTime。

我需要的是进行 Linq 查询以获取所有到期付款的行。付款应每月在他们注册的同一天(开始日期)进行,并在结束日期停止。因此,如果他们在 5 月 23 日注册,我需要在 6 月 23 日、7 月 23 日等日再次为他们开具发票。

var query = from c in db.Subscription
where c.StartDate.Value.Day == DateTime.Now.Day
// What if today is Feb. 28 and a customer registered January 31.
// What if....

我迷路了...请帮忙!

最好的,乔恩 2H

最佳答案

处理月结转天数的一种方法是(假设您希望在奇数情况下的最后一天对它们进行计费):

var Tomorrow = DateTime.Today.AddDays(1);

var query = from c in db.Subscription
where c.EndDate.Value > DateTime.Today &&
(c.StartDate.Value.Day == DateTime.Today.Day ||
(Tomorrow.Month > DateTime.Today.Month &&
c.StartDate.Value.Day > DateTime.Today.Day))
select c;

不过,您可能希望为到期付款创建一个新表并提前计算日期。这样您就可以跟踪付款时间并让以后的生活更轻松。

关于c# - 一个月过去了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/902074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com