10/10/2018, 10:11
Tính ngày hết hạn bằng PHP
Trong CSDL mình có một cột là ngày hết hạn: expire, bây giờ mình muốn làm một trang mà hiện những ngày trước và sau khi hết hạn là 10 ngày, tức là 10 < expire < 10. Mình làm mãi mà không được.Mong các bạn giúp mình với....
Bài liên quan
- lầy ngày hiện tại.
-> 10 < ngày hiện tại - ngày trong cơ sở dữ liệu < 10
http://www.php.net/manual/en/ref.datetime.php
Và giá trị là chuỗi ký tự nên ta cũng có thể sử lý kiểu string.
dùng loại dữ liệu là timestamp
lợi ích:
- order by date -> index trên số nguyên siêu nhanh.
-2 tính ngày : 1 ngày = 24 * 60 * 60 = 86400 -> là số nguyên -> cứ thế mà tăng giảm tính expired chưa bao giờ đơn giảm hơn
- ví dụ: nhà đất
<?php
$today = date("j F Y");
$time = strtotime(date("j F Y"));
$muoi_ngay_truoc = strtotime("-10 day", $time);
echo date("j F Y", $muoi_ngay_truoc);
echo " - ".$today." - ";
$muoi_ngay_sau = strtotime("10 day", $time);
echo date("j F Y", $muoi_ngay_sau);
?>
$firstday=date('Y-m-d', strtotime('-10 day'));
$backday=date('Y-m-d', strtotime('+10 day'));
sau đó truy vấn lấy điều kiện là: WHERE $firstday< expire < $backday
các bạn cho mình ý kiến với thật sự là mình làm nhiều cách mà vẫn chưa có kêt quả.Nó giống với ví dụ của bạn "bancankhong" đó, nhưng sao mình làm không được ta huhu chắc truy vấn sai rồi...vì trong CSDL lưu ngày expire theo dạng là YYYY-mm-dd, Mong các bạn giúp đỡ
Chúc bạn thành công!