Hôm nay, chúng tôi sẽ chỉ cho bạn cách lấy tất cả các Ngày giữa hai Ngày trong PHP. Ở đây, chúng tôi nhận được mảng tất cả các ngày giữa ngày bắt đầu và ngày kết thúc nhất định có thể được sử dụng để nhận báo cáo giữa hai ngày theo hàng ngày, hàng tuần, hàng tháng hoặc hàng năm. chúng tôi giải thích hai phương thức khác nhau với ví dụ đơn giản để trả về ngày tháng trong mảng
Kiểm tra các bài viết khác về PHP
- Kích hoạt CORS cho nhiều tên miền trong PHP
- Tạo mã QR bằng PHP
- Tải nội dung động trong Bootstrap Modal với AJAX, PHP và MySQL
- Google reCAPTCHA v3 bằng PHP
- Chuyển đổi XML sang JSON trong PHP
Các cách để có được tất cả các ngày giữa hai ngày
1. Sử dụng hàm strtotime()
Trong phương pháp này, chúng ta sẽ sử dụng hàm strtotime() để lấy tất cả các ngày giữa hai ngày
Chúng ta sẽ tạo một hàm chỉ chứa tham số ngày bắt đầu và ngày kết thúc, hàm này trả về mảng ngày giữa hai ngày
Trong ví dụ mã này, chúng tôi đang lấy hai ngày và nhận được sự khác biệt của chúng, mã sau đây có thể được sử dụng để nhận chênh lệch ngày chính xác theo ngày giữa hai ngày
Mã nguồn và đầu ra để nhận số ngày giữa hai ngày
"; ?>đầu ra
Difference between in two dates : 5 DaysCác chương trình cơ bản PHP »
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
idnamepurchase_dateexpiration_date1bread2019-07-202019-08-222bơ2018-07-302019-08-103sữa2019-01-122019-01-134sữa chua2019-02-252019-02-24Đố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() để truy xuất 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
Dấu thời gian là một chuỗi các ký tự, biểu thị ngày và/hoặc thời gian xảy ra một sự kiện nhất định
Kiếm một buổi hẹn hò
Tham số định dạng bắt buộc của hàm date() chỉ định cách định dạng ngày (hoặc thời gian)
Dưới đây là một số ký tự thường được sử dụng cho ngày tháng
- d - Thể hiện ngày trong tháng (01 đến 31)
- m - Đại diện cho một tháng (01 đến 12)
- Y - Đại diện cho một năm (bằng bốn chữ số)
- l (chữ thường 'L') - Đại diện cho ngày trong tuần
Các ký tự khác, như "/", ". ", hoặc "-" cũng có thể được chèn vào giữa các ký tự để thêm định dạng bổ sung
Ví dụ bên dưới định dạng ngày hôm nay theo ba cách khác nhau
Thí dụ
tiếng vang "Hôm nay là". ngày("Y/m/d"). "
“;
tiếng vang "Hôm nay là". ngày ("Y. m. d"). "
“;
tiếng vang "Hôm nay là". ngày ("Y-m-d"). "
“;
tiếng vang "Hôm nay là". ngày ("l");
?>
Mẹo PHP - Năm bản quyền tự động
Sử dụng hàm date() để cập nhật tự động năm bản quyền trên website của bạn
có được một thời gian
Dưới đây là một số ký tự thường được sử dụng cho thời gian
- H - định dạng 24 giờ của một giờ (00 đến 23)
- h - Định dạng 12 giờ của một giờ với các số 0 đứng đầu (01 đến 12)
- i - Phút có số 0 đứng đầu (00 đến 59)
- s - Giây có số 0 đứng đầu (00 đến 59)
- a - Chữ thường Ante meridiem và Post meridiem (sáng hoặc chiều)
Ví dụ dưới đây xuất thời gian hiện tại ở định dạng đã chỉ định
Lưu ý rằng hàm PHP date() sẽ trả về ngày/giờ hiện tại của máy chủ
Nhận múi giờ của bạn
Nếu thời gian bạn nhận được mã không chính xác, có thể là do máy chủ của bạn ở một quốc gia khác hoặc được thiết lập cho một múi giờ khác
Vì vậy, nếu bạn cần thời gian chính xác theo một địa điểm cụ thể, bạn có thể đặt múi giờ bạn muốn sử dụng
Ví dụ bên dưới đặt múi giờ thành "America/New_York", sau đó xuất thời gian hiện tại theo định dạng đã chỉ định
Thí dụ
date_default_timezone_set("Mỹ/New_York");
tiếng vang "Thời gian là". ngày ("h. i. sa");
?>
Tạo một ngày Với mktime()
Tham số dấu thời gian tùy chọn trong hàm date() chỉ định dấu thời gian. Nếu bỏ qua, ngày và giờ hiện tại sẽ được sử dụng (như trong các ví dụ trên)
Hàm PHP mktime() trả về dấu thời gian Unix cho một ngày. Dấu thời gian Unix chứa số giây giữa Kỷ nguyên Unix (ngày 1 tháng 1 năm 1970 00. 00. 00 GMT) và thời gian được chỉ định
cú pháp
mktime(giờ, phút, giây, tháng, ngày, năm)
Ví dụ bên dưới tạo ngày và giờ bằng hàm date() từ một số tham số trong hàm mktime()
Thí dụ
$d=mktime(11, 14, 54, 8, 12, 2014);
echo "Ngày tạo là ". ngày ("Y-m-d h. i. sa", $d);
?>
Tạo một ngày từ một chuỗi với strtotime()
Hàm PHP strtotime() được sử dụng để chuyển đổi chuỗi ngày có thể đọc được của con người thành dấu thời gian Unix (số giây kể từ ngày 1 tháng 1 năm 1970 00. 00. 00 giờ GMT)