日期时间 - 确定月经(每月周年纪念日)

本文关键字:周年 纪念日 日期 时间 | 更新日期: 2023-09-27 18:30:26

所以我只有一个CreatedDate可以使用。

我有一个计划任务,每天午夜 12 点运行,需要获取该月同一天的所有记录(但如果 CreatedDate == DateTime.Now 则不行)。

我希望这在 LINQ 中,因为这是一个数据库调用,但我认为任何迭代逻辑都足够了。

我现在有这个,但这在高于 28 的天数时有问题:

var results = Context.Subscriptions.Where(
                x => !(x.StartDate.Day == DateTime.Now.Day &&
                      x.StartDate.Month == DateTime.Now.Month &&
                      x.StartDate.Year == DateTime.Now.Year) && 
                     x.StartDate.Day == DateTime.Now.Day);

为清楚起见,更新问题:

例如,记录的创建日期是 2013 年 1 月 31 日。这个记录应该每个月都会被拉出来。但由于并非所有月份都有 31 天,我上面的代码在这些月份不起作用。我仍然需要每个月拉动记录,即使那个月没有第 31 位。

日期时间 - 确定月经(每月周年纪念日)

只是一个想法,也许你可以利用Windows服务来运行计划任务,但在.net中还有另一种方式任务调度程序。如果要使用Windows服务,可以使用计时器类进行重复运行。如果你有一个任务表,你可以有间隔日期时间、日期上一个运行日期时间和下一个作业日期时间的列。在这里,您可以检查它将运行的时间间隔,并检查作业/任务要运行或不运行的日期时间。

查看此内容以获取更多信息:http://msdn.microsoft.com/en-us/magazine/cc163821.aspx

我希望它对你有所帮助。