Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 按工作日计算发货日期_C#_Asp.net_.net_Visual Studio - Fatal编程技术网

C# 按工作日计算发货日期

C# 按工作日计算发货日期,c#,asp.net,.net,visual-studio,C#,Asp.net,.net,Visual Studio,基本上我的网上商店有3种产品。每个项目的细节都存储在一个列表中。然而 产品1在3个工作日内发货 产品2在下一个工作日发货 产品3需要7个工作日才能发货 如何计算预计到达日期(不包括周六和周日),以确定产品何时到达 示例:客户订购产品1,下订单的日期是星期四,因此产品1需要3个工作日才能发货,换句话说,它将在星期二到达。我将如何在c中执行此操作?向用户显示它将在周二到达。我会尝试使用蛮力方法,只是因为这样可以节省脑力: int workingDays = 3;//get from item D

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

  • 产品1在3个工作日内发货
  • 产品2在下一个工作日发货
  • 产品3需要7个工作日才能发货
如何计算预计到达日期(不包括周六和周日),以确定产品何时到达


示例:客户订购产品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

我很想采用暴力手段,因为这样可以节省脑力:

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;
}
public DateTime dayofarival(DateTime startDate,int numberOfWordkingDays)
{
var结果=起始日期;
var计数器=0;
while(计数器
您可以使用以下方法:

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;
}
public DateTime dayofarival(DateTime startDate,int numberOfWordkingDays)
{
var结果=起始日期;
var计数器=0;
while(计数器
您使用的是什么数据存储?SQL、xml、硬编码?当前是硬编码的。如果产品1需要3个工作日才能发货,并且客户在周四订购,那么它应该在周二发货。它何时到达完全是另一回事。获取工作日在这里有一个很好的实现:为什么不直接给用户来自货运代理的跟踪代码呢?我不认为贵公司能保证一个软件包离开后会发生什么,对吗?你使用的是什么数据存储?SQL、xml、硬编码?当前是硬编码的。如果产品1需要3个工作日才能发货,并且客户在周四订购,那么它应该在周二发货。它何时到达完全是另一回事。获取工作日在这里有一个很好的实现:为什么不直接给用户来自货运代理的跟踪代码呢?我不认为你们公司能保证一个包裹离开后会发生什么,对吗?谷歌搜索可以节省脑力:@AhmedKRAIEM:没错,但我还是更喜欢我的。它要短得多,而且性能也会很小。除非你开始做大量的工作日,但那将是sillymine可能也更适合动态确定哪些工作日被归类为工作日谷歌搜索节省了脑力:@AhmedKRAIEM:没错,但我还是喜欢我的。它要短得多,而且性能也会很小。除非你开始做大量的工作日,但那将是sillymine可能也更适合动态确定哪些工作日被归类为工作日