0

我需要能够使用 PHP 计算显示下一个 6 月 1 日的日期。所以,今天是2013 年 4 月 15 日,因此我需要显示01/06/2013(英国格式)。如果日期是2013 年 8 月 5 日,我需要显示01/06/2014

任何人都可以帮忙吗?

谢谢,

约翰

4

4 回答 4

3

您可以使用以下方法实现此目的:

$now = time();
$june = strtotime("1st June");

if ($now > $june)
    echo date("d/m/Y", strtotime('+1 year', $june));
else 
    echo date("d/m/Y", $june);

希望这可以帮助 :)

于 2013-04-15T09:31:16.263 回答
2

为此,您可以通过检查当前月份来实现

   if(date('m')>06)
   {
       $date= date('d-m-Y',strtotime("next year June 1st"));
    }
   else{
          $date= date('d-m-Y',strtotime("this year June 1st"));
    }
    echo $date;
于 2013-04-15T09:53:24.120 回答
0

为当前年份创建一个新的 DateTime 对象。DateTime 是在 PHP 中处理日期的首选方式。

如果为时过早,请为下一年创建一个新的日期时间对象。

最后,使用“格式”来输出。

$d = new DateTime(date('Y').'-08-05');
if ($d < new DateTime()) {
  $d = new DateTime((date('Y')+1).'-04-15');
}

echo $d->format('d/m/Y');
于 2013-04-15T09:31:14.333 回答
-1

您可以使用本教程实现此目的。您可以定义时区并根据您的格式显示日期。

检查本手册。http://php.net/manual/en/function.date.php

这里给出了明确的例子:

  <?php
      // set the default timezone to use. Available since PHP 5.1
         date_default_timezone_set('UTC'); 
         echo $today = date("d/m/y");                         // 03/10/01
   ?>
于 2013-04-15T09:22:20.550 回答