Làm cách nào để có được ngày trong tuần bằng PHP?

Tôi đang thêm một bài đăng đơn giản ở đây bằng phương pháp PHP đã giúp tôi. Phương pháp này tính toán thời điểm bắt đầ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 tuần” mang tính chủ quan. Một số người tin rằng ngày đầu tuần là “Thứ Hai” trong khi những người khác tin rằng ngày đầu tuần là “Chủ nhật”. ISO-8601 chỉ định ngày đầu tuần là “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 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 thức của PHP có vẻ bối rối về ngày đầu tiên và ngày cuối cùng của tuần là gì

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ả về Chủ nhật, ngày 4 tháng 2 trong khi đặt ngày thành 0 ngày trong cùng một tuần trả về 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ả điều này để nói, phương pháp dưới đây là phương pháp tôi 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. //jeremysawesome. com/2019/08/12/php-get-first-and-last-day-of-week-by-week-number/

Để lấy ngày đầu tuần trong PHP, mã như sau:

Ví dụ

Bản thử trực tiếp

đầu ra

Điều này sẽ tạo ra đầu ra sau -

First day = Monday - 09/12/2019

Ví dụ

Bây giờ chúng ta hãy xem một ví dụ khác -

Bản thử trực tiếp

";
   $res = date['l - d/m/Y', strtotime["sunday 0 week"]];
   echo "First day [next week] = ", $res;
?>

đầu ra

Điều này sẽ tạo ra đầu ra sau -

Displaying Sunday as first day of a week...
First day [next week] = Sunday - 15/12/2019

Bài viết này hướng dẫn bạn cách lấy ngày của một ngày trong tuần bằng PHP. Giải pháp của chúng tôi dựa trên việc gán các số từ 0 đến 6 cho các ngày trong tuần từ Chủ Nhật đến Thứ Bảy

Chúng tôi sẽ sử dụng các hàm PHP datestrtotime để tính toán

Để lấy ngày cho một số, chúng tôi sẽ chọn một ngày ban đầu từ một tuần. Ngày sẽ có định dạng yyyy-mm-dd, sau đó chúng tôi chọn một số từ 0 đến 6

Bằng cách này, chúng ta sẽ biết rằng bất kỳ ngày nào PHP trả về cho số đều trong cùng một tuần với ngày ban đầu. Sau đó, chúng tôi sử dụng PHP để lấy ngày bằng cách sử dụng số đã chọn và ngày ban đầu

Mã PHP sẽ sử dụng thuật toán sau

  • Chọn một số từ 0 đến 6
  • Đảm bảo số nằm trong khoảng từ 0 đến 6
  • Chuyển đổi số của chúng tôi thành một ngày trong tuần bằng cách sử dụng PHP datestrtotime
  • Chuyển đổi ngày trong tuần thành ngày của chúng tôi ở định dạng yyyy-mm-dd. Chúng ta sẽ sử dụng hàm
    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 ]
        ];
    }
    
    3 và đối số của nó là
    • 
      
      0
    • Dấu thời gian Unix của ngày trong tuần từ Bước 4 được trừ vào số đã chọn của chúng tôi
    • Dấu thời gian Unix của ngày đầu tiên của chúng tôi

Sau đây là việc thực hiện thuật toán này

= 0 and $day 

đầu ra

Khi bạn có ngày ở định dạng yyyy-mm-dd, bạn có thể tìm thấy ngày nó rơi vào, e. g. , thứ hai hoặc chủ nhật. Vì chúng tôi đã có một ngày [từ phần trước], chúng tôi có thể sửa đổi mã của mình để in tên ngày

Các sửa đổi sẽ cho phép chúng tôi in văn bản đầy đủ của ngày kể từ ngày. Chúng tôi sẽ sử dụng hàm

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 ]
    ];
}
3 và chúng tôi sẽ chuyển phần sau đây làm đối số của nó

Làm cách nào để in ngày trong tuần bằng PHP?

Giá trị tham số .
d - Ngày trong tháng [từ 01 đến 31]
D - Một đại diện văn bản của một ngày [ba chữ cái]
j - Ngày trong tháng không có số 0 đứng đầu [1 đến 31]
l [viết thường 'L'] - Biểu diễn toàn văn của một ngày
N - Biểu diễn số theo tiêu chuẩn ISO-8601 của một ngày [1 cho Thứ Hai, 7 cho Chủ nhật]

Làm cách nào để lấy ngày kể từ ngày trong PHP?

Nếu bạn không muốn sử dụng lớp DateTime thì bạn chỉ cần sử dụng hàm date[] của PHP để lấy tên ngày .

Làm thế nào để có được ngày thứ bảy trong PHP?

php $dt='2011-01-04'; . [$dt3 == "chủ nhật"]] { echo $dt3. 'là cuối tuần'. "\N";

Làm cách nào để lấy định dạng ngày trong PHP?

Ví dụ. $date=date_create["15-03-2013"]; . i. s"];echo date_format[$date,"Y/m/d H:i:s"];

Chủ Đề