Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
36
Help us understand the problem. What is going on with this article?
@Hiraku

PHPのDateTimeを比較演算子で比較する

More than 5 years have passed since last update.

PHPのDateTime型は比較演算子がオーバーロードされており、普通に比較することができる。未来の日時の方が"大きい"という扱いがされる。

<?php
$date1 = new DateTime('2015-01-01');
$date2 = new DateTime('2015-01-02');
$date3 = new DateTime('2015-01-02');

var_dump($date1 < $date2); // true
var_dump($date2 <= $date3); // true

var_dump($date1 == $date2); // false
var_dump($date2 == $date3); // true
var_dump($date2 === $date3); // false

PHPのオブジェクトは[]などを除けば演算子オーバーロードはサポートされていない(エクステンションを書けば可能だけど)ので、 こんなことができるクラスは非常に珍しい
この記法を使うときはコメントを書いておいた方がいいかもしれない。

(編集)
通常のオブジェクトの比較についてはコメント欄にて @tadsan さんの解説がわかりやすいので参照のこと。

36
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Hiraku
PHP, Go界隈をうろうろしています。最近はgRPCと戦ってる。 特に明示していなければ、記事中のソースコード片は `CC-0 1.0` とします。出典表示無しで自由にコピペして頂いて構いません。 ただ、記事自体をコピペされるのは嫌なので、ソースコード部分以外の文章は通常通り全ての著作権を私が保持するものとします。 引用を超える範囲のコピペは止めて下さい。
mercari
フリマアプリ「メルカリ」を、グローバルで開発しています。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
36
Help us understand the problem. What is going on with this article?