Cách so sánh hai dấu thời gian trong php

So sánh ngày tháng trong PHP không phải là một công việc tẻ nhạt khi ngày tháng ở định dạng tương tự, nhưng khi chúng ta so sánh ngày tháng ở định dạng khác, điều đó trở nên khó khăn. Sau đó, chúng ta sẽ sử dụng lớp DateTime, phương thức date_diff và hàm strtotime để so sánh ngày tháng trong php

Ý nghĩa của hàm strtotime trong PHP là gì?

Trong PHP, hàm strtotime() chuyển đổi mô tả ngày-giờ dạng văn bản thành dấu thời gian UNIX. Hàm này chấp nhận một tham số chuỗi đại diện cho mô tả về ngày giờ. Chúng ta có thể trả về thời gian văn bản ở định dạng ngày tháng bằng cách sử dụng hàm date()

cú pháp

Bạn có ý nghĩa gì với hàm date_diff() trong PHP?

Hàm date_diff() được sử dụng trong php để trả về sự khác biệt giữa hai đối tượng DateTime

cú pháp

Hãy lấy các ví dụ khác nhau về cách so sánh ngày tháng trong PHP

ví dụ 1

Giải trình

Trong ví dụ trên, chúng tôi đã tạo một phép so sánh giữa các ngày đã cho. Trong phần này, chúng tôi sử dụng phương thức date_diff() để tạo so sánh

Chào mừng bạn đến với hướng dẫn nhanh về cách so sánh ngày PHP. Cần tìm ra ngày nào sớm hơn hoặc muộn hơn trong PHP?

Các cách phổ biến để so sánh ngày tháng trong PHP là

  1. Phân tích ngày thành các đối tượng ngày-giờ và so sánh chúng –
     $dtB) { echo "A is later"; }
    else if ($dtA < $dtB) { echo "B is later"; }
    else { echo "AB are the same"; }
    4
  2. Phân tích ngày thành dấu thời gian Unix và so sánh chúng –
     $dtB) { echo "A is later"; }
    else if ($dtA < $dtB) { echo "B is later"; }
    else { echo "AB are the same"; }
    5
  3. So sánh trực tiếp các chuỗi ngày có định dạng “YYYY-MM-DD” –
     $dtB) { echo "A is later"; }
    else if ($dtA < $dtB) { echo "B is later"; }
    else { echo "AB are the same"; }
    6

Chà, bao gồm những điều cơ bản nhanh chóng. Nhưng chúng ta hãy xem qua các ví dụ chi tiết trong hướng dẫn này – Đọc tiếp

ⓘ Tôi đã bao gồm một tệp zip chứa tất cả mã nguồn ví dụ khi bắt đầu hướng dẫn này, vì vậy bạn không cần phải sao chép-dán mọi thứ… Hoặc nếu bạn chỉ muốn đi sâu vào

 

 

TLDR – TRANG TRÌNH BÀY NHANH

Cách so sánh hai dấu thời gian trong php
Tải xuống & Ghi chú

Cách so sánh hai dấu thời gian trong php
So sánh ngày PHP

Cách so sánh hai dấu thời gian trong php
Bit bổ sung & liên kết

Cách so sánh hai dấu thời gian trong php
Kết thúc

 

TẢI XUỐNG & LƯU Ý

Đầu tiên, đây là liên kết tải xuống mã ví dụ như đã hứa

 

GHI CHÚ NHANH

Nếu bạn phát hiện ra một lỗi, hãy bình luận bên dưới. Tôi cũng cố gắng trả lời các câu hỏi ngắn, nhưng đó là một người so với cả thế giới… Nếu bạn cần câu trả lời gấp, vui lòng xem danh sách các trang web của tôi để được trợ giúp về lập trình

 

MÃ VÍ DỤ TẢI XUỐNG

Nhấp vào đây để tải xuống mã nguồn, tôi đã phát hành nó theo giấy phép MIT, vì vậy hãy thoải mái xây dựng trên mã nguồn hoặc sử dụng nó trong dự án của riêng bạn

 

 

SO SÁNH NGÀY PHP

Được rồi, bây giờ chúng ta hãy đi vào các ví dụ về cách so sánh ngày tháng trong PHP

 

VÍ DỤ 1) SO SÁNH VỚI ĐỐI TƯỢNG NGÀY-GIỜ

1 ngày giờ. php

 $dtB) { echo "A is later"; }
else if ($dtA < $dtB) { echo "B is later"; }
else { echo "AB are the same"; }

Như trong phần giới thiệu, đây có lẽ là một trong những phương pháp phổ biến đơn giản nhất – Chỉ cần phân tích ngày tháng thành các đối tượng

 $dtB) { echo "A is later"; }
else if ($dtA < $dtB) { echo "B is later"; }
else { echo "AB are the same"; }
7 và sử dụng các toán tử so sánh “thông thường” để so sánh cả hai đối tượng

 

 

VÍ DỤ 2) SO SÁNH VỚI DẤU THỜI GIAN UNIX

2-unix. php

 $dtB) { echo "A is later"; }
else if ($dtA < $dtB) { echo "B is later"; }
else { echo "AB are the same"; }

Dành cho các bạn mới,

 $dtB) { echo "A is later"; }
else if ($dtA < $dtB) { echo "B is later"; }
else { echo "AB are the same"; }
7 và
 $dtB) { echo "A is later"; }
else if ($dtA < $dtB) { echo "B is later"; }
else { echo "AB are the same"; }
0 là 2 cơ chế hoàn toàn khác nhau.
 $dtB) { echo "A is later"; }
else if ($dtA < $dtB) { echo "B is later"; }
else { echo "AB are the same"; }
1 là một đối tượng, trong khi
 $dtB) { echo "A is later"; }
else if ($dtA < $dtB) { echo "B is later"; }
else { echo "AB are the same"; }
2 trả về dấu thời gian Unix - Số giây đã trôi qua kể từ ngày 1 tháng 1 năm 1970 UTC;

 

 

VÍ DỤ 3) SO SÁNH CHUỖI NGÀY

3 dây. php

 $dtB) { echo "A is later"; }
else if ($dtA < $dtB) { echo "B is later"; }
else { echo "AB are the same"; }

Đây là một phương pháp “tiện lợi” mà tôi tìm thấy ở đâu đó trên Internet… Chỉ cần so sánh trực tiếp các chuỗi ngày tháng mà không cần phân tích chúng thành các đối tượng hoặc số nguyên. Đúng, nó hoạt động, nhưng chỉ khi ngày ở định dạng YYYY-MM-DD. Hãy thử thay đổi định dạng ngày và xem kết quả cho chính mình

3 dây. php

________số 8

Đúng – 22 tháng 1 muộn hơn 22 tháng 4… Đây là lý do tại sao tôi không khuyên bạn nên so sánh trực tiếp các chuỗi ngày

 

VÍ DỤ 4) SO SÁNH NHIỀU NGÀY

4 nhân. php

$u) {
  echo "$k - " . date("Y-m-d", $u)."
"; }

Vậy nếu chúng ta có nhiều ngày (hơn 2) để so sánh thì sao?

 

 

BIT BỔ SUNG & LIÊN KẾT

Đó là tất cả cho hướng dẫn này, và đây là một phần nhỏ về một số tính năng bổ sung có thể hữu ích cho bạn

 

TÓM TẮT – TẤT CẢ CÁC CHỨC NĂNG NGÀY/GIỜ THÔNG DỤNG

FunctionDescriptionReference
 $dtB) { echo "A is later"; }
else if ($dtA < $dtB) { echo "B is later"; }
else { echo "AB are the same"; }
5Tạo đối tượng ngày-giờ mới từ
 $dtB) { echo "A is later"; }
else if ($dtA < $dtB) { echo "B is later"; }
else { echo "AB are the same"; }
6 đã cho. Sẽ lấy thời gian của máy chủ hiện tại nếu không cung cấp
 $dtB) { echo "A is later"; }
else if ($dtA < $dtB) { echo "B is later"; }
else { echo "AB are the same"; }
6. Bấm vào đây
 $dtB) { echo "A is later"; }
else if ($dtA < $dtB) { echo "B is later"; }
else { echo "AB are the same"; }
8Lấy dấu thời gian Unix từ chuỗi ngày đã cho. Bấm vào đây

 

BẢNG CHEAT INFOGRAPHIC

Cảm ơn bạn đã đọc, và chúng tôi đã đi đến phần cuối của hướng dẫn này. Tôi hy vọng rằng nó đã giúp bạn hiểu rõ hơn và nếu bạn muốn chia sẻ bất cứ điều gì với hướng dẫn này, vui lòng bình luận bên dưới. Chúc may mắn và mã hóa hạnh phúc

Làm cách nào để so sánh dấu thời gian trong PHP?

Bạn có thể sử dụng hàm strtotime() để chuyển chuỗi ngày thành dấu thời gian Unix. Tiếp theo, bạn có thể PHP so sánh dấu thời gian bằng cách sử dụng toán tử so sánh . Vì vậy, nếu bạn có các ngày được viết là “Chủ nhật tuần trước” và “Thứ sáu đầu tiên của tháng 1 năm 2022”, bạn có thể so sánh chúng dễ dàng bằng cách sử dụng hàm strtotime().

Làm cách nào để tìm sự khác biệt giữa hai dấu thời gian trong PHP?

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ờ, . ). $datetime_1 = '2022-04-10 11. 15. 30'; . 30. 45';

Làm cách nào để so sánh hai thời gian ngày trong PHP?

So sánh hai ngày trong PHP rất đơn giản khi cả hai ngày đều có cùng định dạng nhưng vấn đề phát sinh khi cả hai ngày có định dạng khác nhau. Phương pháp 1. Nếu các ngày đã cho có cùng định dạng thì hãy sử dụng toán tử so sánh đơn giản để so sánh các ngày . echo "$date1 cũ hơn $date2" ;

Làm cách nào để so sánh thời gian hiện tại trong PHP?

Phương thức diff() sẽ trả về một đối tượng mới có kiểu DateInterval. Nếu bạn muốn định dạng sự khác biệt giữa hai ngày, bạn cũng có thể sử dụng phương thức format() của lớp DateInterval nhưng hãy cẩn thận. nó sẽ không chấp nhận định dạng giống như DateTime. phương thức định dạng()