Измените день начала недели с понедельника на субботу - PullRequest
0 голосов
/ 17 июня 2019

Для отображения номера дня недели я использую следующее:

echo "Today's date is: " . date("Y/m/d") . "<br>";
echo "The weekday is: " . date("l") . "<br>";
echo "The number of the weekday is: " . date("N") . "<br>";
echo "The week number is:" . date("W");

Когда днем ​​является понедельник, вышеприведенное возвращает «Номер дня недели: 1». Это потому, что неделя начинается в понедельник по умолчанию. Мне нужно изменить день начала недели на субботу. Тогда вышеприведенное «Номер дня недели:» вернет 3 по понедельникам и 1 по субботам. В связи с этим номер недели в данной дате будет изменен соответственно.

Я нашел этот код в PHP DateTime () классе, измените первый день недели на понедельник , чтобы изменить первый день недели с воскресенья на понедельник

    class EuroDateTime extends DateTime {


    // Override "modify()"
      public function modify($string) {


      // Change the modifier string if needed
      if ( $this->format('N') == 1 ) { // It's Sunday and we're calculating a day using relative weeks
          $matches = array();
          $pattern = '/this week|next week|previous week|last week/i';
          if ( preg_match( $pattern, $string, $matches )) {
              $string = str_replace($matches[0], '-7 days '.$matches[0], $string);
          }
      }
      return parent::modify($string);

  }

но мне не удалось изменить его, чтобы изменить день начала недели на субботу.

Мой тест на кислотность для того, что мне нужно сделать, это, в частности, результат:

echo "The number of the weekday is: " . date("N") . "<br>";

Может кто-нибудь предложить, пожалуйста, необходимую модификацию или другой фрагмент кода, который превратит день начала недели в субботу?

...