簡體   English   中英

PHP日期問題與星期一和星期六的日期

[英]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");

DEMO

我的代碼是

$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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM