Hướng dẫn get week start date in php - lấy ngày bắt đầu tuần bằng php

Rất đơn giản để sử dụng hàm

2015-03-16
2015-03-22
3:

echo date("Y-m-d", strtotime('monday this week')), "\n";   

echo date("Y-m-d", strtotime('sunday this week')), "\n";

Nó khác nhau một chút trên các phiên bản PHP:

Đầu ra cho 5.3.0 - 5.6.6, Php7@20140507 - 20150301, HHVM -3.3.1 - 3.5.1

2015-03-16
2015-03-22

Đầu ra cho 4.3.5 - 5.2.17

2015-03-23
2015-03-22

Đầu ra cho 4.3.0 - 4.3.4

2015-03-30
2015-03-29

So sánh tại các trường hợp cạnh

Mô tả tương đối như tuần này có bối cảnh riêng của họ. Những điều sau đây cho thấy sản lượng cho tuần này thứ Hai và Chủ nhật khi đó là thứ Hai hoặc Chủ nhật:

$date = '2015-03-16'; // monday
echo date("Y-m-d", strtotime('monday this week', strtotime($date))), "\n";   
echo date("Y-m-d", strtotime('sunday this week', strtotime($date))), "\n";

$date = '2015-03-22'; // sunday
echo date("Y-m-d", strtotime('monday this week', strtotime($date))), "\n";   
echo date("Y-m-d", strtotime('sunday this week', strtotime($date))), "\n";

Nó lại khác nhau một chút trên các phiên bản PHP:

Đầu ra cho 5.3.0 - 5.6.6, Php7@20140507 - 20150301, HHVM -3.3.1 - 3.5.1

2015-03-16
2015-03-22
2015-03-23
2015-03-29

Đầu ra cho 4.3.5 - 5.2.17

2015-03-16
2015-03-22
2015-03-23
2015-03-22

Đầu ra cho 4.3.0 - 4.3.4

2015-03-23
2015-03-22
2015-03-23
2015-03-29

Đầu ra cho 4.3.0 - 4.3.4

2015-03-23
2015-03-29
2015-03-30
2015-03-29

Sử dụng hàm strtotime () để có được ngày đầu tiên trong tuần bằng PHP. Hàm này trả về thời gian thời gian biến thời gian mặc định và sau đó sử dụng hàm ngày () để chuyển đổi ngày Dấu thời gian thành ngày có thể hiểu được.

hàm strtotime (): hàm strtotime () trả về kết quả trong dấu thời gian bằng cách phân tích chuỗi thời gian.syntax: The strtotime() function returns the result in timestamp by parsing the time string.
Syntax:

strtotime($EnglishDateTime, $time_now)

Tham số: hàm strtotime () chấp nhận hai tham số như đã đề cập ở trên và được mô tả dưới đây: The strtotime() function accepts two parameters as mentioned above and described below:

  • $ EnglishDateTime: Nó chỉ định mô tả thời gian ngày văn bản tiếng Anh, đại diện cho ngày hoặc thời gian được trả về. Hàm phân tích chuỗi và trả về thời gian tính bằng giây. Nó là tham số cần thiết. It specifies the English textual date-time description, which represents the date or time to be returned. The function parses the string and returns the time in seconds. It is required parameter.
  • $ time_now: Tham số này chỉ định dấu thời gian được sử dụng để tính giá trị được trả về. Nó là một tham số tùy chọn. This parameter specifies the timestamp used to calculate the returned value. It is an optional parameter.

date () hàm: hàm ngày () trả về định dạng ngày dễ hiểu hơn và có thể đọc được của con người. The date() function returns more understandable and human readable format of date.
Syntax:

2015-03-16
2015-03-22
0

Tham số: Hàm này chấp nhận hai tham số như đã đề cập ở trên và được mô tả dưới đây: This function accepts two parameters as mentioned above and described below:

  • Định dạng: Nó chỉ định định dạng cho ngày và thời gian mà kết quả sẽ được hiển thị. It specify the format for date and time in which the result will be display.
  • Dấu thời gian: Đây là biến thời gian mặc định mà ngày sẽ được tạo ra. It is the default time variable from which the date will be generated.

Lưu ý: Trong PHP, tuần bắt đầu với thứ Hai, vì vậy nếu chuỗi thời gian được đưa ra như là trong tuần này, đầu ra sẽ là dấu thời gian của thứ Hai có thể đọc được bằng cách chuyển nó qua hàm ngày (). In PHP, the week starts with Monday, so if the time-string is given as “this week” the output will be timestamp of Monday which can make readable by passing it through date() function.

Chương trình 1: Nhận mặc định ngày đầu tiên trong tuần khi chuỗi thời gian là trong tuần này. Get the default first day of a week when the time-string is “this week”.

2015-03-16
2015-03-22
4

Is

2015-03-23
2015-03-22
5
2015-03-23
2015-03-22
6
2015-03-23
2015-03-22
0
2015-03-16
2015-03-22
5
2015-03-23
2015-03-22
9

2015-03-30
2015-03-29
0

Output:

2015-03-16
2015-03-22
1

Bây giờ, thường là Chủ nhật được coi là ngày đầu tiên của một tuần. Vì vậy, trong PHP để có được Chủ nhật của ngày đầu tiên của một tuần, hãy xem xét Chủ nhật của tuần trước. Đó là để có được ngày đầu tiên (Chủ nhật) của một tuần cần phải có được Chủ nhật của tuần trước và để có được ngày đầu tiên (Chủ nhật) của tuần tới cần có được Chủ nhật của tuần này, v.v. Trong chuỗi thời gian. Vì vậy, để có được tuần trước, nó có thể sử dụng chuỗi thời gian như là -1 tuần và để có được ngày, nó cũng có thể phải bao gồm tên của chuỗi trong chuỗi thời gian.
PHP supports -ve indexing in time-string. So, in order to get the previous week it can use the time string as “-1 week” and to get the day it can also have to include the name of the day in time string.

Chương trình 2: Nhận ngày đầu tiên (Chủ nhật) trong tuần. Get the first day (Sunday) of the week.

2015-03-16
2015-03-22
4

Is

2015-03-23
2015-03-22
5
2015-03-23
2015-03-22
6
2015-03-23
2015-03-22
0
2015-03-16
2015-03-22
5
2015-03-23
2015-03-22
0
$date = '2015-03-16'; // monday
echo date("Y-m-d", strtotime('monday this week', strtotime($date))), "\n";   
echo date("Y-m-d", strtotime('sunday this week', strtotime($date))), "\n";

$date = '2015-03-22'; // sunday
echo date("Y-m-d", strtotime('monday this week', strtotime($date))), "\n";   
echo date("Y-m-d", strtotime('sunday this week', strtotime($date))), "\n";
7
2015-03-23
2015-03-22
9

Is

2015-03-23
2015-03-22
5
2015-03-16
2015-03-22
2015-03-23
2015-03-22
0
2015-03-23
2015-03-22
0
2015-03-16
2015-03-22
5
2015-03-23
2015-03-22
0
$date = '2015-03-16'; // monday
echo date("Y-m-d", strtotime('monday this week', strtotime($date))), "\n";   
echo date("Y-m-d", strtotime('sunday this week', strtotime($date))), "\n";

$date = '2015-03-22'; // sunday
echo date("Y-m-d", strtotime('monday this week', strtotime($date))), "\n";   
echo date("Y-m-d", strtotime('sunday this week', strtotime($date))), "\n";
7
2015-03-23
2015-03-22
9

Is

2015-03-23
2015-03-22
5
2015-03-23
2015-03-22
2015-03-23
2015-03-29
7___

Is

2015-03-23
2015-03-22
5
strtotime($EnglishDateTime, $time_now)
4
2015-03-23
2015-03-22
0
2015-03-16
2015-03-22
5
2015-03-23
2015-03-22
9

2015-03-30
2015-03-29
0

Output:

2015-03-16
2015-03-22
2