Làm cách nào để kiểm tra lớn hơn ngày trong php?

Khi tôi tìm kiếm và đọc mã về các vấn đề về thời gian và ngày tháng mà các nhà phát triển gặp phải, tôi nhận thấy rằng nhiều người vẫn sử dụng các hàm PHP cũ như

php

$dateTime = new DateTime();
echo $dateTime->format('Y-m-d H:i:s');`
1,
php

$dateTime = new DateTime();
echo $dateTime->format('Y-m-d H:i:s');`
2 hoặc
php

$dateTime = new DateTime();
echo $dateTime->format('Y-m-d H:i:s');`
3

Còn việc sử dụng lớp DateTime thì sao?

php

$dateTime = new DateTime();
echo $dateTime->format('Y-m-d H:i:s');`
4 có thể thực hiện tất cả các thao tác ngày và giờ thông thường mà bạn có thể yêu cầu, và thậm chí hơn thế nữa. Sử dụng
php

$dateTime = new DateTime();
echo $dateTime->format('Y-m-d H:i:s');`
4 có thể tiết kiệm rất nhiều thời gian khi bạn phải thực hiện các thao tác đơn giản hoặc phức tạp hơn vào ngày tháng

Bây giờ tôi thấy bạn hỏi. tại sao lại sử dụng DateTime thay vì một loạt các hàm ngày của PHP?

Đây là lý do tại sao

  • php
    
    $dateTime = new DateTime();
    echo $dateTime->format('Y-m-d H:i:s');`
    
    4 chắc chắn là mạnh mẽ hơn để sử dụng. Ít lỗi hơn luôn tốt hơn
  • php
    
    $dateTime = new DateTime();
    echo $dateTime->format('Y-m-d H:i:s');`
    
    4 là một lớp học. Bạn có thể sử dụng bố cục để sửa đổi hành vi của anh ấy một cách dễ dàng. Bạn luôn cần cùng ngày làm đầu vào cho các bài kiểm tra đơn vị của mình?
  • Sử dụng một lớp sẽ dễ hiểu hơn đối với các đồng nghiệp là nhà phát triển của bạn. Ngay cả khi họ không biết
    php
    
    $dateTime = new DateTime();
    echo $dateTime->format('Y-m-d H:i:s');`
    
    4, họ chỉ cần xem tài liệu về một lớp duy nhất. Nó chắc chắn tốt hơn là tìm kiếm một loạt các chức năng độc lập

Khởi tạo và định dạng DateTime

Việc khởi tạo thật dễ dàng. bạn có thể chuyển đến hàm tạo một ngày được định dạng chính xác hoặc không có gì nếu bạn muốn sử dụng ngày và giờ thực tế

Đây là danh sách các định dạng ngày và giờ được hỗ trợ mà bạn có thể đưa vào hàm tạo

Sau đó, bạn có thể định dạng ngày để hiển thị nó, trong hai dòng mã

php

$dateTime = new DateTime('2016-01-01');
echo $dateTime->format('Y-m-d H:i:s');`

đầu ra.

php

$date = new DateTime('2016-05-20', new DateTimeZone('Europe/Berlin'));
0

php

$dateTime = new DateTime();
echo $dateTime->format('Y-m-d H:i:s');`

đầu ra. bất kể ngày hiện tại là gì, được định dạng chính xác

Dễ dàng, phải không?

php

$date = new DateTime('2016-05-20', new DateTimeZone('Europe/Berlin'));

Ngày giờ và dấu thời gian

Bạn muốn định dạng một dấu thời gian không thể đọc được thành một ngày đẹp và sáng bóng dễ đọc?

php

$dateTime = new DateTime();
$dateTime->setTimestamp(1271802325);
echo $dateTime->format('Y-m-d H:i:s');

đầu ra.

php

$date = new DateTime('2016-05-20', new DateTimeZone('Europe/Berlin'));
1

Rõ ràng là bạn cũng có thể xuất dấu thời gian nếu cần

php

$dateTime = new DateTime('2016-05-20');
echo $dateTime->getTimestamp();

đầu ra.

php

$date = new DateTime('2016-05-20', new DateTimeZone('Europe/Berlin'));
2

Cộng hoặc trừ thời gian

Còn việc thêm hoặc lấy ngày, phút, giờ của một ngày thì sao?

php

$dateTime = new DateTime('2016-01-01');
$dateTime->modify('+1 day');
echo $dateTime->format('Y-m-d H:i:s');`

đầu ra.

php

$date = new DateTime('2016-05-20', new DateTimeZone('Europe/Berlin'));
3

Bạn cũng có thể sử dụng hàm tạo nếu bạn làm việc vào ngày hiện tại

php

$dateTime = new DateTime('+1d');
echo $dateTime->format('Y-m-d H:i:s');`

Xuất ngày hiện tại cộng với một ngày

Để có kết quả tương tự, bạn cũng có thể khởi tạo lớp DateInterval nhưng bạn sẽ phải sử dụng một cách khó đọc hơn

Cá nhân tôi không bao giờ sử dụng giải pháp cuối cùng này, đơn giản vì tôi không bao giờ cần

Khoảng thời gian giữa các ngày khác nhau

Rất dễ sử dụng các lớp

php

$dateTime = new DateTime();
echo $dateTime->format('Y-m-d H:i:s');`
4 để so sánh ngày tháng

php

$datetime1 = new DateTime('2009-10-11 12:12:00');
$datetime2 = new DateTime('2009-10-13 10:12:00');

$interval = $datetime1->diff($datetime2);
echo $interval->format('%Y-%m-%d %H:%i:%s');

đầu ra.

php

$date = new DateTime('2016-05-20', new DateTimeZone('Europe/Berlin'));
5

Trong ví dụ này, chúng tôi đã tạo hai đối tượng

php

$dateTime = new DateTime();
echo $dateTime->format('Y-m-d H:i:s');`
4. Họ sẽ nhận được hai ngày khác nhau trong hàm tạo của họ

Để so sánh hai ngày đó, chúng tôi sử dụng phương thức

php

$date = new DateTime('2016-05-20', new DateTimeZone('Europe/Berlin'));
7 của đối tượng
php

$dateTime = new DateTime();
echo $dateTime->format('Y-m-d H:i:s');`
4 đầu tiên với đối tượng
php

$dateTime = new DateTime();
echo $dateTime->format('Y-m-d H:i:s');`
4 thứ hai làm đối số

Phương thức

php

$date = new DateTime('2016-05-20', new DateTimeZone('Europe/Berlin'));
7 sẽ trả về một đối tượng mới kiểu
php

$dateTime = new DateTime();
$dateTime->setTimestamp(1271802325);
echo $dateTime->format('Y-m-d H:i:s');
1. 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
php

$dateTime = new DateTime();
$dateTime->setTimestamp(1271802325);
echo $dateTime->format('Y-m-d H:i:s');
2 của lớp
php

$dateTime = new DateTime();
$dateTime->setTimestamp(1271802325);
echo $dateTime->format('Y-m-d H:i:s');
1 nhưng hãy cẩn thận. nó sẽ không chấp nhận định dạng giống như phương thức
php

$dateTime = new DateTime();
$dateTime->setTimestamp(1271802325);
echo $dateTime->format('Y-m-d H:i:s');
4

Đầu ra chỉ ra rằng có sự khác biệt 1 ngày và 22 giờ giữa hai ngày

Nếu bạn chỉ muốn giây, giờ hoặc ngày của khoảng thời gian, bạn có thể viết

php

$datetime1 = new DateTime('2009-10-11 12:12:00');
$datetime2 = new DateTime('2009-10-13 10:12:00');

$interval = $datetime1->diff($datetime2);

echo $interval->s;
echo $interval->h;
echo $interval->d;

đầu ra

0
22
1

So sánh ngày giờ

Nếu bạn cần so sánh hai phiên bản của DateTime, việc này đơn giản như viết

php

$dateTime = new DateTime();
echo $dateTime->format('Y-m-d H:i:s');`
0

đầu ra.

php

$dateTime = new DateTime();
$dateTime->setTimestamp(1271802325);
echo $dateTime->format('Y-m-d H:i:s');
5

Hãy nhớ rằng bạn cần PHP 5. 2. 2 hoặc cao hơn để so sánh hoạt động. Tôi thực sự hy vọng đó là trường hợp

Bây giờ bạn là Master của DateTime

Mời các bạn đọc tài liệu PHP về lớp DateTime. Bạn sẽ không bao giờ phải loay hoay với nhiều chức năng và bạn sẽ đơn giản hóa mã của mình rất nhiều. Đồng nghiệp của bạn sẽ khen ngợi bạn và kỹ năng của bạn cho đến hết thời gian

Vinh quang và danh tiếng sẽ ở trước cửa nhà bạn

Nếu bạn biết các thủ thuật và kỹ thuật khác với

php

$dateTime = new DateTime();
echo $dateTime->format('Y-m-d H:i:s');`
4, vui lòng chia sẻ kiến ​​thức của bạn trong phần bình luận

Làm cách nào để kiểm tra ngày lớn hơn trong PHP?

Làm cách nào để so sánh hai ngày lớn hơn 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 để kiểm tra xem thời gian lớn hơn hay nhỏ hơn một thời gian cụ thể trong PHP?

Để so sánh thời gian đã cho với thời gian hiện tại. if (strtotime($given_time) >= time()+300) echo "Bạn đang trực tuyến"; .

Làm cách nào để so sánh các chuỗi ngày trong PHP?

Bạn có thể so sánh ngày PHP với ngày hiện tại bằng cách sử dụng hàm strtotime() cùng với các toán tử so sánh . Hàm date_diff() cho phép bạn so sánh hai ngày và tìm sự khác biệt giữa chúng.