将 UNIX 时间戳日期转换为该周的星期一

converting UNIX time stamp date to the Monday of that week

如何将时间戳转换为与该周对应的星期一?

示例: 1473750000(2016 年 9 月 13 日星期二 07:00:00 GMT)

// 编码魔法

1473638400(2016 年 9 月 12 日星期一 00:00:00 GMT)

要转换时间戳,您可以使用 PHP 函数 gmdate()。我已经在我的一些 projects/sites.

中使用了它
$timestamp = strtotime("+1 hour"); //Uk Time
echo gmdate("H:i", $timestamp); //Hour:Minutes

对于gmdate()的其他部分,检查PHP Manual

我使用答案中提供的文档找到了答案:

$date = date('Y-m-d',strtotime('this monday this week',1473750000));

我还使用 DateInterval 添加了我对问题的解决方案。

function getLastMonday($timestamp){
    // Initialize DateTime object
    $date = new DateTime();
    $date->setTimestamp($timestamp);

    // Calculate num of days to substract and create date interval
    $dayOfWeek = $date->format("w");
    $interval = new DateInterval("P".(($dayOfWeek+6)%7).'D');
    $interval->invert = 1;

    // Substract the Date interval
    $date->add($interval);

    return $date;
}