将 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;
}
如何将时间戳转换为与该周对应的星期一?
示例: 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;
}