$date = strtotime('-2 years');
Run Code Online (Sandbox Code Playgroud)
因为您的打印代码只是一个复杂的版本:
echo date('Y-m-d', $date);
Run Code Online (Sandbox Code Playgroud)
...你可以将所有内容简化为单行:
echo date('Y-m-d', strtotime('-2 years'));
Run Code Online (Sandbox Code Playgroud)
根据您的情况,您可以利用PHP的隐式类型转换并简单地使用
(date('Y')-42)."-".date('m')."-".date('d')
Run Code Online (Sandbox Code Playgroud)
或更短
(date('Y')-42)."-".date('m-d')
Run Code Online (Sandbox Code Playgroud)
但是,正如阿尔瓦罗G.维卡里奥在评论观察,有可能并不适用于所有年存在,所以你二月可怕的29日要使用的strtotime
例:
$someDay = strtotime('2009-11-23');
$threeYearsBefore = strtotime('-3 years', $someDay);
echo date('Y-m-d', $threeYearsBefore);
Run Code Online (Sandbox Code Playgroud)
或者,相对于当前时间,
$threeYearsBefore = strtotime('-3 years');
echo date('Y-m-d', $threeYearsBefore);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9729 次 |
| 最近记录: |