如果数字大于 12,则使数字从 1 开始 PHP

Make the number to start from 1 if it is greater than 12 with PHP

我正在尝试将英语日期转换为尼泊尔语。到目前为止,我已经完成了以下工作:

function nepaliYear($year){
$year = date('Y', strtotime($year)) + 56;
$month = date('m', strtotime($year)) + 8;
$days = date('d', strtotime($year)) + 15;
if($month > 12){
    $year = $year + 1;
    $month = date('H', strtotime($month));  //need help here
}
return $year.'-'.$month.'-'.$days;

}

如果月份大于 12,我希望数字从 1 继续。假设这个月是 7 月,如果我做 7+8,它会得到 15。如何将月份变为 03?我尝试在 date 函数中使用 H 来实现这一点,因为时间将在 12 小时内。

希望您理解我的问题。如果被问到,将准备好添加解释。谢谢。

您可以使用一个简单的解决方案。

if($month > 12){
   $year = $year + 1;
   $month = $month - 12;  
}

由于您在评论区询问了转换天数的问题,

你知道有闰年(二月有时有 29 天)。例如,七月和八月有 31 天。你不能笼统地说“将 144 天转换为几个月”,因为每个月都不一样。

例如:

假设您需要将 94 天转换为月份。

<?php
$start_date = new DateTime(date("Y/m/d"));
$end_date = new DateTime(date("Y/m/d",strtotime("+94")));
$date_diff = date_diff($start_date,$end_date);
echo "$date_diff->m months $dd->d days";
?>

对于 start_date,您可以使用特定日期。同样对于 end_date 这是正确的方法,所以每一个闰年和一切都被观察到!