去年六月 - php相对日期

时间:2014-07-21 10:41:09

标签: php date

我需要在6月的上个月发表讲话。我怎么能实现这个目标? 假设今天 2014年9月1日,我需要相对地解决 2014年6月1日。我确实试过......

$dt = new DateTime('01-09-2014', new DateTimeZone('UTC')); $dt->modify('June last year'); echo $dt->format('d F Y');

但它给了我 2013年6月1日而不是 2014年6月1日

请问好吗?

编辑>>>

如果我介于 {July> Aug,Sep,... Dec} 2014 ===我需要解决 2014年6月1日

此外,如果我在 {Jan,Feb,Mar,Apr,May} 2015年 ===我需要解决 2014年6月1日

Canot使用php代码。只有"相对日期字符串"

2 个答案:

答案 0 :(得分:0)

$dt = new DateTime ( '01-04-2014', new DateTimeZone ( 'UTC' ) );
$dt->modify ( ($dt->format ( 'm' ) < 6) ? 'June last year' : 'June this year' );
echo $dt->format ( 'd F Y' );

答案 1 :(得分:0)

如果您只需要在php datetime Relative Formats中使用解决方案,我认为这对于Relative Formats的函数逻辑是不可能的。

//在问题编辑之前回答

这样的事情??

$dt = new DateTime('01-09-2014', new DateTimeZone('UTC'));

if( date('n') >= 6 )
{
  // last year june
  $dt->modify('June last year');

} else {
  // current year june
  $dt->modify('June this year');
}

echo $dt->format('d F Y');