2013-04-15 51 views
0

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

任何人都可以帮忙吗?

感谢,

约翰

+1

尝试实现的strtotime(“下一个1月6日“) –

+0

@HaimEvgi我不这样做。 –

+0

可否请您提供一个有效的公式? – BlitZ

回答

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); 

希望这有助于:)

+0

辉煌!作为一种享受,感谢Sabari。 – user2281899

-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 
    ?> 
+0

嗨,谢谢。我遇到的问题是抓取6月1日的下一个日期,而不是格式化英国日期。 – user2281899

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'); 
1

为此,您可以通过检查本月份

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; 
相关问题