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);
}

ini_set('date.timezone''Europe/Lisbon');
ini_set('intl.default_locale''es_ES');$cal IntlCalendar::createInstance();
$cal->set(2013/* June */30); // A Sundayvar_dump($cal->getFirstDayOfWeek()); // 2 (Monday)echo IntlDateFormatter::formatObject($cal, <<'local day of week: 'cc'
week of month    : 'W'
week of year     : 'ww
EOD
), 
"\n";$cal->setFirstDayOfWeek(IntlCalendar::DOW_SUNDAY);

echo

IntlDateFormatter::formatObject($cal, <<'local day of week: 'cc'
week of month    : 'W'
week of year     : 'ww
EOD
), 
"\n";
int(2)
local day of week: 7
week of month    : 4
week of year     : 26
local day of week: 1
week of month    : 5
week of year     : 27

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

Tôi đang thêm một bài đăng đơn giản ở đây với một phương pháp PHP đã giúp tôi. Phương pháp này tính toán sự khởi đầu và kết thúc của một tuần với số năm và tuần. Vấn đề tôi gặp phải là ngày đầu tiên trong tuần là chủ quan. Một số người tin rằng ngày đầu tiên trong tuần là Thứ Hai Thứ Hai, trong khi những người khác tin rằng ngày đầu tiên trong tuần là Chủ nhật. ISO-8601 chỉ định ngày đầu tiên trong tuần là Thứ Hai Thứ Hai. Trong khi đó, hầu hết các lịch phương Tây hiển thị Chủ nhật là ngày đầu tiên của tuần và thứ bảy là ngày cuối cùng của tuần.

Để thêm vào sự nhầm lẫn, bản thân các phương pháp của PHP có vẻ bối rối về ngày đầu tiên và ngày cuối cùng trong tuần.

Ví dụ:

$new_date = new DateTime;
// returns Monday, Jan 29 2018
$new_date->setISODate(2018, 5);

// returns Sunday, Feb 4 2018
$new_date->modify('sunday this week');

// returns Sunday, Jan 28 2018
$new_date->setISODate(2018, 5 ,0);

Bạn sẽ nhận thấy rằng chuỗi "Chủ nhật tuần này" thực sự trở lại vào Chủ nhật, ngày 4 tháng 2 trong khi đặt ngày thành 0 ngày của cùng tuần trở lại Chủ nhật, ngày 28 tháng 1. Tôi không nói rằng Chủ nhật không xảy ra hai lần một tuần Nhưng Chủ nhật không xảy ra hai lần một tuần.

Tất cả những điều này để nói, phương pháp dưới đây là phương pháp tôi tìm thấy trả về kết quả hữu ích nhất:

function get_first_and_last_day_of_week( $year_number, $week_number ) {
    // we need to specify 'today' otherwise datetime constructor uses 'now' which includes current time
    $today = new DateTime( 'today' );

    return (object) [
        'first_day' => clone $today->setISODate( $year_number, $week_number, 0 ),
        'last_day'  => clone $today->setISODate( $year_number, $week_number, 6 )
    ];
}

Đăng chéo từ https://jeremysawmess.com/2019/08/12/php-get-first-d-last-day-of-week-by-week-number/

Làm cách nào để bắt đầu một tuần từ Chủ nhật ở PHP?

$ firstday = date ('l - d/m/y', strtotime ("Chủ nhật 1 tuần"));

Tuần bắt đầu vào Chủ nhật hay thứ Hai?

Thứ hai là ngày đầu tiên trong tuần, theo tiêu chuẩn quốc tế về đại diện của ngày và thời gian ISO 8601. Tuy nhiên, tại Hoa Kỳ và Canada, Chủ nhật được coi là bắt đầu từ đầu tuần. Điều này là vì lý do tôn giáo., according to the international standard for the representation of dates and times ISO 8601. However, in the United States and Canada, Sunday is considered to be the start of the week. This is because of religious reasons.

Làm thế nào để có được ngày bắt đầu tuần trong PHP?

PHP $ weekStart = strtotime ('Thứ Hai tuần này'); $ weekStop = strtotime ('Chủ nhật tuần này 23:59:59'); // Ngày Echo ('D.M.Y H: I: S', $ WeekStart). ' -'. ngày ('D.M.Y H: I: S', $ WeekStop); ?>

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.