如何在PHP中获得最近3个月或几周,几年或几天?

时间:2018-01-23 10:47:14

标签: php

我有这个工作代码,过去30天。

<?php
    echo date('Y-m-d').' - '.date('Y-m-d', strtotime('today - 30 days'));
?>

我还希望让它更具动感,例如:

`date('Y-m-d', strtotime('from today to 3 months'));`
`date('Y-m-d', strtotime('from today to 7 weeks'));` 
`date('Y-m-d', strtotime('from today to 2 years'));` 

3 个答案:

答案 0 :(得分:2)

echo date('Y-m-d', strtotime('- 3 months')).'<br>';
echo date('Y-m-d', strtotime('- 7 weeks')).'<br>';
echo date('Y-m-d', strtotime('- 2 years'));

没有必要在today函数中指定strtotime()

要动态使用variables,例如:

$amount = 5;
$field = 'months'; // or 'days' or 'years'...
echo date('Y-m-d', strtotime("- $amount $field")).'<br>';

答案 1 :(得分:1)

您当前的代码看起来很好,但您可以省略“今天”部分,只需执行以下操作:

date('Y-m-d', strtotime('-3 months'));
date('Y-m-d', strtotime('-7 weeks'));
date('Y-m-d', strtotime('-2 years'));

答案 2 :(得分:0)

请查看此答案以获取今天的最后日期:

<?php
  $today =  date('Y-m-d');
  echo $lastthereemonth = date('Y-m-d',strtotime('-3 month',strtotime($today))); echo "<br/>";
  echo $lastthereeweeks = date('Y-m-d',strtotime('-3 weeks',strtotime($today)));echo "<br/>";
  echo $lastthereedays = date('Y-m-d',strtotime('-3 day',strtotime($today)));
?>