我正在尝试计算 PHP 中 unix 时间戳中过去 3 周的第一天和过去 3 个月的第一天。
我知道我必须使用日期函数,但我有点迷失了。我没有 PHP 5.3,因此无法使用相对格式。
我使用上述内容来决定是否删除备份。例如
if ($time > time()-3600*24*7 && $time < time()) {
echo "Keeping: $file<br/>";
}
Run Code Online (Sandbox Code Playgroud)
我想保留以下内容的备份:
我正在尝试计算 PHP 中 unix 时间戳中过去 3 周的第一天和过去 3 个月的第一天。
我知道我必须使用日期函数,但我有点迷失了。我没有 PHP 5.3,因此无法使用相对格式。
我使用上述内容来决定是否删除备份。例如
if ($time > time()-3600*24*7 && $time < time()) {
echo "Keeping: $file<br/>";
}
Run Code Online (Sandbox Code Playgroud)
我想保留以下内容的备份:
更新
添加解决方案,正如我在 Pekka 的帮助下找到的那样
$a = (strtotime("last Monday-1 week"));
$b = (strtotime("last Monday-2 week"));
$c = (strtotime("last Monday-3 week"));
$d = (strtotime(date('m').'/01/'.date('Y').' 00:00:00'));
$e = (strtotime('-1 month',strtotime(date('m').'/01/'.date('Y').' 00:00:00')));
$f = (strtotime('-2 month',strtotime(date('m').'/01/'.date('Y').' 00:00:00')));
Run Code Online (Sandbox Code Playgroud)
我知道这个问题很老了,但想分享我自己的答案,以便其他人可能会发现它有用。这在 PHP 7.2 中有效,不确定其他版本是否有效。要返回 3 个月的第一天,请使用以下代码。
echo date('Y-m-d', strtotime("FIRST DAY OF -3 MONTH"));
Run Code Online (Sandbox Code Playgroud)
结果:
2021-01-01
Run Code Online (Sandbox Code Playgroud)