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

时间:2016-09-13 17:06:27

标签: php date unix-timestamp

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

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

//编码魔术

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

3 个答案:

答案 0 :(得分:1)

要转换时间戳,您可以使用PHP函数gmdate()。我已经在我的一些项目/网站上使用了它。

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

对于gmdate()的其他部分,请查看https://cultiv.nl/blog/using-umbraco-migrations-to-deploy-changes/

答案 1 :(得分:1)

我还使用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;
}

答案 2 :(得分:0)

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

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