Cộng trừ ngày tháng trong PHP
Như các bạn đã biết PHP hỗ trợ khá nhiều hàm để xử lý các vấn đề liên quan đến thời gian (các bạn có thể tham khảo tại đây), nhưng đôi khi nhiều quá làm người dùng lúng túng không biết nên sử dụng hàm nào. Ở bài viết trước, tôi đã dùng hàm strtotime() để so sánh các ngày với nhau và hôm nay tôi sẽ kết hợp hàm đó với hàm strftime() để tính toán xem nếu lấy ngày hiện tại cộng thêm 1 tuần/1 tháng / 1 quý…. thì sẽ là ngày nào.
Các bạn có thể tham khảo đoạn code dưới đây:
Самая детальная информация vet clinic на сайте.
<?php // Lấy ngày hiện tại $today = date('Y-m-d'); echo "Today is ". $today; // Cộng thêm 1 tuần $week = strtotime(date("Y-m-d", strtotime($today)) . " +1 week"); $week = strftime("%Y-%m-%d", $week); echo "A week later is ". $week; // Cộng thêm 1 tháng $month = strtotime(date("Y-m-d", strtotime($today)) . " +1 month"); $month = strftime("%Y-%m-%d", $month); echo "A month later is ". $month; ?>
Kết quả:
Today is 2011/08/16 A week later is 2011/08/23 A month later is 2011/09/16
Tổng kết,
Việc sử dụng uyển chuyển giữa các hàm sẽ giúp bạn giải quyết khá nhiều trường hợp khiến bạn đau đầu. Nếu bạn quen với việc tra hàm trên PHP Manual, tôi khuyên nên tham khảo thêm trang w3schools.com , tuy là trang tiếng Anh nhưng trang web sử dụng những từ đơn giản và có ví dụ rất dễ hiểu. Tôi cũng hay vào trang web này để tìm tư liệu cho các bài viết. Chúc vui !
Nếu ta không dùng ngày hiện tại để cộng, trừ thì sao ha ban?
Vd như tôi muốn biết ngày 12/8/2010 trừ 30 ngày (tôi muốn tìm ngày trước đó 1 tháng) là ngày mấy? Trả về kiểu ngày tháng năm. Mong bạn giúp! Chân thành cảm ơn!
Mình đã viết 1 đoạn code nhỏ theo yêu cầu của bạn, bạn xem đây có phải là điều bạn cần không nhé 🙂
[ccew_php]
< ?php $input_date = '12/08/2010'; $month = strtotime(date("d/m/Y", strtotime($input_date)) . " -1 month"); $month = strftime("%d/%m/%Y", $month); echo "A month previous is ". $month . "
“;
?>
[/ccew_php]
Bài viết rất hay!
CHo mình hỏi chút là. Nhập vào ngày bắt đầu là ngày 15/7/2012 và ngày kết thúc là ngày 20/7/2012. Vậy làm sao để biết được từ ngày 15 đến ngày 20 là 5 ngày?? và nếu ngày kết thúc sang 1 tháng mới là ngày 20/8/2012 thì sẽ tính thế nào ?
Ae nào biết giúp mình với. Thanks
Chào bạn,
Mình đã viết một bài viết liên quan đến câu hỏi của bạn, bạn đọc thêm tại http://tanvietblog.info/2012/07/15/php-tinh-khoang-cach-giua-2-ngay-bat-ky nhé.
Thân ái!
Chào tuấn việt những bài chia sẻ của bạn rất hay. Không biết bạn có từng nghiên cứu việc lấy dữ liệu từ máy quét thẻ hoặc vân tay sang cơ sở msql chưa? Dùng bên php để gọi mã quét được từ máy quét thẻ hay vân tay để hiển thị thông tin nhân viên. Mình xem hoài không thấy ai hướng dẫn hết. Bạn có nghiên cứu thì hướng dẫn mình với