PHP获取基于辞职日期自动续订的合同的终止日期



我想编写一个函数,根据给定的日期,获得合同终止的日期($end_date)。

,条件为:

在合同创建后的前3个月,我们有一个宽限期。因此,如果我们在前3个月结束前14天收到合同辞职,合同期限将不适用,合同终止有效期至合同成立后的前3个月的最后一天。

如果宽限期已经过去,合同期限将适用,所以辞职只有在合同期限结束前6个月我们收到才有效。如果我们在合同期满6个月后收到辞呈,我们将续签相同期限的合同。

我有这个信息:

$resignation_date =  date('Y-m-d', strtotime($letter_of_resignation_received_date));
$contract_begin_date = date('Y-m-d', strtotime($contract_begin_date));
$contract_duration= 48; //This means 48 Months

1。条件:

  • 如果$resignation_date在$contract_begin_date
  • 后3个月结束前14天
  • 结果:$end_date将是$contract_begin_date + 3个月($contract_duration将不适用)
$grace_periode_date= date('Y-m-d', strtotime($contract_begin_date . ' + 3 months - 14 days'));
if ($resignation_date < $grace_periode_date ) {
$end_date = date('Y-m-d', strtotime($contract_begin_date . ' + 3 months'));
}
  • 条件:
    • 如果$resignation_date已经超过$contract_begin_date后的前3个月结束前14天,则适用$contract_duration
    • 结果:$end_date将是$contract_begin_date + $contract_duration Months
    
    if ($resignation_date > $grace_periode_date ) {
    $end_date = date('Y-m-d', strtotime($contract_begin_date . ' + '.$contract_duration.' months'));
    }
    
  • 条件:
    • 如果宽限期已过,而我们在合同期限届满前6个月才收到辞职信,则合同已经续签。
    • 结果:$end_date将是$contract_begin_date + ($contract_duration*2) Months
    
    if ($resignation_date > $grace_periode_date && $resignation_date > date('Y-m-d', strtotime($contract_begin_date . ' + '.$contract_duration.' months - 6 months'))) {
    $end_date = date('Y-m-d', strtotime($contract_begin_date . ' + '.$contract_duration.' months + '.$contract_duration.' months '));
    }
    

    这一切都很好。问题是,如果合同已经自动续签了2次,那么我这样做的方式就不正确。我所有的时间都基于$contract_begin_date +新的持续时间。

    如果合同已经续签了2次。一个日期。条件会导致错误的日期。因为我没有最后一次续约的日期,我只有合同开始日期和合同期限。

    如何仅使用我所拥有的信息获得正确的end_date ?

    <代码>

    你需要计算合同的开始时间期限你收到了辞职合同。

    PP_6这里的CC_2是你收到辞呈的日期。

    这个想法很简单:只要沿着合同期限往前走,直到期限结束时超出你感兴趣的日期。

    在此之后,你可以在第三个条件中使用期间的开始,而不是合同的开始。

    注意:代码未经测试,可能包含错误。

    相关内容

    • 没有找到相关文章

    最新更新