0

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

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

我将如何计算Estimated date到达时间 ETDA(不包括周六和周日)以了解产品何时到达。

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

4

2 回答 2

3

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

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
于 2013-08-22T15:23:43.797 回答
1

您可以使用此方法:

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;
}
于 2013-08-22T15:33:55.033 回答