[PHP] Tính số thứ tự của 1 tuần trong năm
Hôm trước có một bạn hỏi tôi rằng, làm thế nào nhập 1 ngày và tính ngày đó thuộc tuần thứ mấy trong năm ? Một câu hỏi khá là hay. Tất cả chúng ta đều biết một năm thì có 52 tuần, nhưng tuần đầu tiên của năm có phải luôn luôn bắt đầu là ngày 01/01 ? Tôi sẽ minh họa câu trả lời đó bằng hình ảnh dưới đây.
Các bạn thấy rằng ngày 01/01/2012 rơi vào ngày Chủ nhật và thuộc tuần thứ 52 của năm 2011, còn ngày 02/01/2012 mới được tính là ngày đầu tiên của tuần thứ nhất năm 2012. Như vậy, trong lập trình bạn phải có cách biết được chính xác ngày nào đó thuộc tuần thứ mấy trong năm mà không phải xem lịch.
Tôi đã viết 1 đoạn code nhỏ để giải quyết vấn đề trên, bạn có thể tham khảo và chỉnh sửa phù hợp với yêu cầu của mình.
<?php // Xem ngày hiện tại thuộc tuần thứ mấy trong năm ? $date = date('Y-m-d'); while (date('w', strtotime($date)) != 1) { $tmp = strtotime('-1 day', strtotime($date)); $date = date('Y-m-d', $tmp); } $week = date('W', strtotime($date)); echo "Tuần thứ: " . $week ; ?>
Và kết quả là
Tuần thứ: 24
Hi vọng đoạn code trên sẽ giúp ích cho các bạn. Thân !
Hok cần phức tạp vậy đâu bạn ơi
vậy la ok rồi.
Thân
ko thay code dau ca, blog bi loi nhieu qua, fix lai di ban
Hi Tuấn,
Mình đã cập nhật code lại rồi, bạn tham khảo nhé. Mình mới thay theme cho blog nên code bị ảnh hưởng.
Chào anh,
Anh xem lại giúp code hiển thị không đúng.
Tuần này từ 28/12/2015 đến 03/01/2016 là tuần 1 của năm 2016, nhưng code hiển thị tuần thứ 53.\
Cám ơn anh.
Xin lỗi, em vừa coi lại, đúng là năm nay có 53 tuần 🙂 code vẫn đúng.
echo “tuan thu: ” . date(‘W’, time()) ; don gian ma