与此question类似,但我的具体问题没有答案。
当前日期为2011-12-14,以供日后查看此问题的参考。
我试过了:
$maxAge = $row['maxAge']; // for example, $row['maxAge'] == 30
$cutoff = date('Y-m-d', strtotime('-$maxAge days'));
并返回$cutoff: 1969-12-31
我试过这个:
$maxAge = $row['maxAge']; // for example, $row['maxAge'] == 30
$cutoff = date('Y-m-d', strtotime('-' . $maxAge . ' days'));
并返回$cutoff: 2011-03-14
如何将此变量成功传递到strtotime()
函数,以便计算正确减去的天数?
例如,如果$maxAge == 30
且当前日期是2011-12-14,那么$cutoff
应为2011-11-14
答案 0 :(得分:16)
使用双引号:
date('Y-m-d', strtotime("-$maxAge days"));
答案 1 :(得分:4)
使用双引号:
$cutoff = date('Y-m-d', strtotime("-$maxAge days"));
但是,如果您正在进行这样的简单计算,您可以通过不使用strtotime来简单地编写代码,如下所示:
$date = getdate();
$cutoff = date('Y-m-d', mktime( 0, 0, 0, $date['mon'], $date['mday'] - $maxAge, $date['year']));
echo $cutoff;
答案 2 :(得分:1)
您可以在PHP中使用双引号或heredoc字符串来扩展变量。单引号和nowdoc字符串不会扩展变量。
http://www.php.net/manual/en/language.types.string.php#language.types.string.parsing