如何计算当前的工资期何时结束

本文关键字:结束 何时 何计算 计算 | 更新日期: 2023-09-27 17:49:40

我想知道如何计算这一发薪期的最后日期?

我知道工资是每两周发一次,第一期从2012年9月1日开始。到目前为止,我所做的

    DateTime d = new DateTime();
    d = Convert.ToDateTime("01/09/2012");
    while (d <= Convert.ToDateTime("01/06/2013")) {
        PayPeriod.Items.Add(new ListItem(d.ToString("MM/dd/yyyy"), d.ToString("MM/dd/yyyy")));
        d = d.Date.AddDays(14);
    }

这个工作完美,但它工作完美,因为我已经手动把当前的工资期结束"01/06/2013"。

我的问题是如何自动计算出当前工资期的最后日期?

如何计算当前的工资期何时结束

您可以使用以下逻辑轻松地做到这一点:

DateTime startTime = new DateTime(2012,09,01);
DateTime now = DateTime.Now;
var diff = now.Subtract (startTime);
int daysToEndPeriod = diff.Days % 14;
if (daysToEndPeriod == 0)
    Console.WriteLine("end of pay period");
else
    Console.WriteLine("end of pay period is: " + DateTime.Now.AddDays(14-daysToEndPeriod).Date);

这是有效的,因为你总是得到Modulo运算符返回你还剩下多少天的工资期