Bạn cần phải xác định chế độ 3 trên gọi mysql nămTuần:
SELECT YEARWEEK(now(),3);
Các PHP date()
placeholder W
trả về số tuần theo đến ISO 8601 specification. Điều đó có nghĩa là tuần bắt đầu vào thứ Hai (không phải chủ nhật), tuần đầu tiên của năm là số 1 (không phải 0), và tuần đó là tuần đầu tiên có ít nhất 4 ngày trong năm mới (vì vậy tuần đó có chứa Thứ Năm đầu tiên của năm). Theo the documentation for the MySQL WEEK function, rằng sự kết hợp của các tùy chọn là chế độ 3.
Ngoài ra, để kéo nốt Alles của thành câu trả lời chấp nhận bởi vì điều quan trọng là: giữ chỗ Y
và W
không đi cùng nhau. Nếu bạn muốn năm có số tuần theo ISO, bạn nên sử dụng o
thay vì Y
. Ví dụ, hãy xem xét Thứ hai 29 tháng 12, 2014:
date('YW', mktime(0,0,0,12,29,2014)); #=> 201401 : 1st week of 2014??
date('oW', mktime(0,0,0,12,29,2014)); #=> 201501 : better
Nguồn
2013-03-22 03:43:47
Cảm ơn bạn Đánh dấu. Nó hoạt động –
+1 cho câu trả lời, nhưng nếu tôi muốn sử dụng YEARWEEK để tổng hợp dữ liệu hàng tuần, và tôi muốn chủ nhật là ngày đầu tiên trong tuần?PHP có vẻ như không có tùy chọn để thay đổi ngày bắt đầu tuần – dzona
Đó là lý do thứ hai ("chế độ") chỉ định. Đọc liên kết tài liệu ... các chế độ 0, 2, 4 và 6 tất cả bắt đầu tuần vào Chủ Nhật, khác với tuần 1 và có tuần 0 hoặc 53. –