我需要在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代码。只有"相对日期字符串"
答案 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');