计算工作日的发货日期

本文关键字:日期 工作日 计算 | 更新日期: 2023-09-27 18:28:49

基本上我的网店上有3种产品。每个的细节都存储在列表中。然而

  • 产品1在3个工作日内发货
  • 产品2在下一个工作日发货
  • 产品3需要7个工作日才能发货

我该如何计算到货的Estimated dateETDA(不包括周六和周日)以了解产品何时到货。

示例:客户订购产品1,下订单的日期是星期四,因此产品1需要3个工作日才能发货,换句话说,它将在星期二到达。我将如何在c#中执行此操作,向用户显示它将于周二到达。

计算工作日的发货日期

我很想采用蛮力方法,因为它可以节省脑力:

int workingDays = 3;//get from item
DateTime dt = DateTime.Today();
while(workingDays > 0)
{
    dt = dt.AddDays(1);
    if(dt.DayOfWeek != DayOfWeek.Saturday && dt.DayOfWeek != DayOfWeek.Sunday)
        workingDays--;
}
//dt is now the correct day

您可以使用此方法:

public DateTime DayOfArrival(DateTime startDate, int numberOfWordkingDays )
{
    var result = startDate;
    var counter = 0;
    while (counter < numberOfWordkingDays)
    {
        if (result.DayOfWeek != DayOfWeek.Saturday && result.DayOfWeek != DayOfWeek.Sunday)
            counter++;
        result = result.AddDays(1);
    }
    return result;
}