[英]PHP date issue with week monday and saturday date
我想得到一周的開始日期和結束日期。 我在用
$monday = date('Y-m-d', strtotime('this monday', strtotime($model->date)));
$saturday = date('Y-m-d', strtotime('this saturday', strtotime($model->date)));
當日期是18-09-2017,那么星期一是18-09-2017和saturaday是23-09-2017。 但是,當日期是23-09-2017,那么星期一是25-09-2017,星期六是23-09-2017。
為什么會這樣?
我如何調整代碼,以便始終為moday作為18-09-2017和星期六23-09-2017,當日期是18-09-2017或23-09-2017。 我想要一致性。
嘗試使用此日期時格式化功能,將其轉換為ISO並獲取當前工作日
<?php
$dt = "23-09-2017";
function getDay($day,$date)
{
$days = ['Monday' => 1, 'Tuesday' => 2, 'Wednesday' => 3, 'Thursday' => 4, 'Friday' => 5, 'Saturday' => 6, 'Sunday' => 7];
$date = new \DateTime($date);
$date->setISODate((int)$date->format('o'), (int)$date->format('W'), $days[ucfirst($day)]);
return $date;
}
echo "Monday: ".getDay('Monday',$dt)->format("d-m-Y");
echo "Saturday: ".getDay('Saturday',$dt)->format("d-m-Y");
我的代碼是
$dayofweek = date('w', strtotime($model->date));
if($dayofweek == 6)
{
$monday = date('Y-m-d', strtotime('last monday', strtotime($model->date)));
}
else
{
$monday = date('Y-m-d', strtotime('this monday', strtotime($model->date)));
}
$saturday = date('Y-m-d', strtotime('this saturday', strtotime($model->date)));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.