PHP strtotime 上周的每一天

标签 php mysql strtotime

嗨,我有一个查询,它从数据库中选择

`timestamp` >= '".$monS."' AND `timestamp` < '".$sunE."'

以下是 $monS$sunE 的定义方式:

$startTime = "00:00:00";
$endTime = "23:59:59";

$today = date('l', strtotime("now"));

if($today == "Monday"){
    $monS = strtotime("yesterday -7 days $startTime");
    $sunE = strtotime("yesterday -1 days $endTime");
}
    if($today == "Tuesday"){
    $monS = strtotime("yesterday -8 days $startTime");
    $sunE = strtotime("yesterday -2 days $endTime");
}
if($today == "Wednesday"){
    $monS = strtotime("yesterday -9 days $startTime");
    $sunE = strtotime("yesterday -3 days $endTime");
}
if($today == "Thursday"){
    $monS = strtotime("yesterday -10 days $startTime");
    $sunE = strtotime("yesterday -4 days $endTime");
}
if($today == "Friday"){
    $monS = strtotime("yesterday -11 days $startTime");
    $sunE = strtotime("yesterday -5 days $endTime");
}
if($today == "Saturday"){
    $monS = strtotime("yesterday -12 days $startTime");
    $sunE = strtotime("yesterday -6 days $endTime");
}
if($today == "Sunday"){
    $monS = strtotime("yesterday -13 days $startTime");
    $sunE = strtotime("yesterday -7 days $endTime");
}

它在大多数情况下都有效,我认为周末计算的行数可能不正确..我网站上的工作人员说它没有正确计算周六和周日。我的脚本看起来还好吗?

最佳答案

看起来您正在尝试获取:

Find everything in MySQL in the week preceding this past Sunday.

为此,我将使用一周中的当前日期来查找星期日,然后减去一周。

$dow = date('N'); // current DOW – 0 = Sunday, 1 = Monday, 2 = Tues...
$now = time();
$sunE = $now - (24 * 3600 * $dow); // 24 * 3600 = one day in seconds
$monS = $sunE - (24 * 3600 * 7);

关于PHP strtotime 上周的每一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26265227/

相关文章:

php - 如何在不删除 PHP 文件的现有数组值的情况下在文本文件中写入另一组新数组?

php - 使用 PHP 和 MySQL 获取多个选中的复选框

python - 连接到 MySql 服务器失败 - Python

PHP 使用 strtotime 进行日期转换

mysql - Medoo SQL 数据库选择与日期范围匹配的行

php - 使用 html2fpdf 时不显示图像

PHP 动态显示进度消息

php - 将大字符串拆分成数组,但拆分点不能打断标签

sql - 公交时刻表数据库设计

php - 将月、年转换为 YYYY-MM-DD