sto*_*ist 31 php datetime subtraction
因此,如果今天是2010年4月12日,它将于2009年10月1日返回
我用谷歌搜索的一些可能的解决方案似乎过于复杂,有什么建议吗?
Adn*_*nan 69
嗯,也许是这样的;
echo date("F 1, Y", strtotime("-6 months"));
Run Code Online (Sandbox Code Playgroud)
编辑;
如果您想指定自定义日期使用;
echo date("F, 1 Y", strtotime("-6 months", strtotime("Feb 2, 2010")));
Run Code Online (Sandbox Code Playgroud)
$date_half_a_year_ago = mktime(0, 0, 0, date('n')-6, 1, date('y'))
Run Code Online (Sandbox Code Playgroud)
要使新日期相对于给定日期而不是今天,请date使用第二个参数调用
$given_timestamp = getSomeDate();
$date_half_a_year_ago = mktime(0, 0, 0, date('n', $given_timestamp)-6, 1, date('y', $given_timestamp))
Run Code Online (Sandbox Code Playgroud)
输出格式化,只需date再次使用:
echo date('F j, Y', $date_half_a_year_ago);
Run Code Online (Sandbox Code Playgroud)
有点hackish但工作:
<?php
$date = new DateTime("-6 months");
$date->modify("-" . ($date->format('j')-1) . " days");
echo $date->format('j, F Y');
?>
Run Code Online (Sandbox Code Playgroud)