Cơ sở dữ liệu của chúng tôi có một bảng tên là food
với dữ liệu trong các cột id
, name
, purchase_date
và expiration_date
Đối với mỗi sản phẩm thực phẩm, hãy lấy tên của sản phẩm và số ngày giữa ngày hết hạn và ngày mua
Giải pháp
Chúng ta sẽ sử dụng hàm DATEDIFF[]
. Đây là truy vấn bạn sẽ viết
SELECT name, DATEDIFF[expiration_date, purchase_date] AS days FROM food;
Đây là kết quả của truy vấn
tên bánh mì ngày33bơ376sữa1sữa chua-1Thảo luận
Sử dụng hàm DATEDIFF[]
để lấy số ngày giữa hai ngày trong cơ sở dữ liệu MySQL. Hàm này nhận hai đối số
- ngày kết thúc. [Trong ví dụ của chúng tôi, đó là cột
expiration_date
. ] - Ngày bắt đầu. [Trong ví dụ của chúng tôi, đó là cột
purchase_date
. ]
Các đối số này có thể là giá trị ngày/ngày giờ, biểu thức trả về giá trị ngày/ngày giờ hoặc cột của kiểu dữ liệu ngày giờ hoặc ngày tháng
Hàm này trừ ngày bắt đầu từ ngày kết thúc và trả về số ngày dưới dạng số nguyên. Trong ví dụ của chúng tôi, bơ đã được mua vào '2018-07-30', nhưng ngày hết hạn của nó là '2019-08-10'; . Lưu ý rằng sữa chua đã được mua như một sản phẩm lỗi thời. chênh lệch số ngày là -1 và ngày mua của nó muộn hơn ngày hết hạn
Trong bài viết này, chúng ta sẽ xem cách tính chênh lệch giữa 2 ngày trong PHP, cùng với việc hiểu triển khai của nó thông qua các ví dụ. Đưa ra hai ngày tức là. , start_date và end_date & chúng ta cần tìm sự khác biệt giữa hai ngày
Xem xét ví dụ dưới đây
Input: start_date: 2016-06-01 22:45:00 end_date: 2018-09-21 10:44:01 Output: 2 years, 3 months, 21 days, 11 hours, 59 minutes, 1 seconds Explanation: The difference of 2 dates will give the date in complete format.
Phương pháp 1. Sử dụng hàm date_diff[]
Hàm này được sử dụng để tìm sự khác biệt giữa hai ngày. Hàm này sẽ trả về một đối tượng DateInterval nếu thành công và trả về FALSE nếu thất bại
Thí dụ. Ví dụ này minh họa việc sử dụng hàm date_diff[] để tính chênh lệch giữa 2 ngày