基本上我的网上商店有 3 种产品。每个细节都存储在 List 数组中。然而
- 产品 1 在 3 个工作日内发货
- 产品 2 在下一个工作日发货
- 产品 3 需要 7 个工作日才能发货
我将如何计算Estimated date
到达时间 ETDA(不包括周六和周日)以了解产品何时到达。
示例:客户订购产品 1,下订单的日期是星期四,因此产品 1 需要 3 个工作日才能发货,也就是说它会在星期二到达。我将如何在 c# 中执行此操作,向用户显示它将在星期二到达。
基本上我的网上商店有 3 种产品。每个细节都存储在 List 数组中。然而
我将如何计算Estimated date
到达时间 ETDA(不包括周六和周日)以了解产品何时到达。
示例:客户订购产品 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;
}