Làm cách nào để kiểm tra ngày hiện tại nằm giữa ngày bắt đầu và ngày kết thúc trong PHP?

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 Days 

Cá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_dateexpiration_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-1

Thả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ố

  1. ngày kết thúc. (Trong ví dụ của chúng tôi, đó là cột expiration_date. )
  2. 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");
?>

Tự mình thử »



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ự mình thử »


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ự mình thử »


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)

Làm cách nào để kiểm tra ngày hiện tại giữa hai ngày trong PHP?

hàm php displayDates($date1, $date2, $format = 'd-m-Y' ) { $dates = array();

Làm cách nào để kiểm tra ngày hiện tại nằm giữa startDate và endDate trong laravel?

Chúng ta sẽ cần dùng đến DB. raw() để sao chép cái này với Eloquent, trông sẽ như thế này. $startDate = '2022-06-01'; . whereBetween(DB. raw('DATE(created_at)'), [$startDate, $endDate])->get();

Làm cách nào để kiểm tra thời gian giữa hai lần trong PHP?

1. Sử dụng lớp DateTime của PHP để tính toán sự khác biệt giữa hai ngày giờ . Phương thức diff() của lớp DateTime tạo đối tượng DateInterval tính toán sự khác biệt giữa hai đối tượng ngày/giờ theo thời gian (tổng số ngày, năm, tháng, ngày, giờ, phút, giây, v.v. ).

Cách lấy ngày bắt đầu và ngày kết thúc trong PHP?

php echo 'Ngày đầu tiên = '. ngày ('Y-m-01'). ''; . ngày ('Y-m-t'). '; . ngày ('Y-m-t'). '; . ngày ('Y-m-t'). '; . ngày ('Y-m-t'). '; . ngày ('Y-m-t'). '; . ngày ('Y-m-t'). '; . ngày ('Y-m-t'). '; . ngày ('Y-m-t'). '; . ngày ('Y-m-t'). '; . ngày ('Y-m-t'). '; . ngày ('Y-m-t'). '; . ngày ('Y-m-t'). '; . ngày ('Y-m-t'). '; . ngày ('Y-m-t'). '; . ngày ('Y-m-t'). '; . ngày ('Y-m-t'). .
Y cung cấp cho bạn năm có 4 chữ số từ dấu thời gian ('2010')
m cung cấp cho bạn tháng dạng số từ dấu thời gian, với số 0 đứng đầu ('04')
t cung cấp cho bạn số ngày trong tháng của dấu thời gian ('30')