Hướng dẫn sunday this week php - chủ nhật tuần này php

Tôi biết chủ đề này đã cũ, nhưng đây là một cách ngắn hơn để thực hiện nó với biểu thức của Elvis Toán tử và "+7 ngày" cho strtotime []:

$week=date["W",strtotime[date["w"]==1?"+7 day":"+0 day"]];

Nếu ngày $ ["W"] trả lại phương tiện thực sự hôm nay là một ngày từ thứ ba và chủ nhật [1-6], vì vậy, chúng ta có thể trở lại vào tuần hôm nay ['hôm nay'].

Nếu trả về sai, điều đó có nghĩa là thứ hai [0], vì vậy, chúng ta nên trả lại vào ngày hôm sau ['+1 tuần'].

Bằng cách này, chúng ta không cần quan tâm đến ngày cuối cùng hoặc ngày đầu tiên trong năm hoặc kiểm tra xem năm hiện tại có 52 hoặc 53 tuần.

Đã chỉnh sửa: Câu trả lời trước đó [và những người khác trong chủ đề này] không hoạt động trong năm nay vì Januray 1st là thứ Hai, vì vậy, nó cần phải là 1 tuần trước [-1 tuần] không bao gồm Chủ nhật [Ngày 6].

date["W",strtotime[date["w"]?'-7 day':'+0 day']];

Tôi nghĩ rằng một điều kiện hỏi liệu Januray 1 là thứ hai có thể hoạt động không, nhưng tôi chưa kiểm tra nó, tôi sẽ quay lại với câu trả lời sau

Đối với một ngày tùy chỉnh, bạn có thể sử dụng điều này:

$date = strtotime['2018-04-30']; // [it is monday]

if[date["w",strtotime[date['Y',$date].'-01-01']]==1]{ // if first day of year is monday
    $week = strtotime[date['w',$date]?"-7 day":"+0 day",$date]; // and today is sunday, sub a week
    $week = date["W",$week];
}else{ // if is not monday
    $week = strtotime[date['w',$date]==1?"+7 day":"+0 day",$date]; // and today is monday, add a week
    $week = date["W",$week];
}

Tuần 1 tuần nào?

Định nghĩa ISO 8601 cho Tuần 01 là tuần với ngày thứ Năm đầu tiên của năm Gregorian [tức là tháng 1] trong đó.the week with the first Thursday of the Gregorian year [i.e. of January] in it.

Bài Viết Liên Quan

Chủ Đề