src/Peach/DT/Datetime.php
protected function compareFields(Time $time)
    {
        $c = parent::compareFields($time);
        if ($c !== 0) {
            return $c;
        }
        
        $className = __CLASS__;
        if ($time instanceof $className) {
            if ($this->hour   !== $time->hour) {
                return $this->hour   - $time->hour;
            }
            if ($this->minute !== $time->minute) {
                return $this->minute - $time->minute;
            }
            return 0;
        }
        else {
            $h = $time->get("hour");
            $m = $time->get("minute");
            if ($this->hour   !== $h) {
                return (isset($h) ? $this->hour   - $h : 0);
            }
            if ($this->minute !== $m) {
                return (isset($m) ? $this->minute - $m : 0);
            }
            return 0;
        }
    }
protected function compareFields(Time $time)
    {
        $c = parent::compareFields($time);
        if ($c !== 0) {
            return $c;
        }
        
        $className = __CLASS__;
        if ($time instanceof $className) {
            if ($this->hour   !== $time->hour) {
                return $this->hour   - $time->hour;
            }
            if ($this->minute !== $time->minute) {
                return $this->minute - $time->minute;
            }
            return 0;
        }
        else {
            $h = $time->get("hour");
            $m = $time->get("minute");
            if ($this->hour   !== $h) {
                return (isset($h) ? $this->hour   - $h : 0);
            }
            if ($this->minute !== $m) {
                return (isset($m) ? $this->minute - $m : 0);
            }
            return 0;
        }
    }
この時間と指定された時間を比較します.

この型の時間フィールドと引数の型の時間フィールドのうち,
共通しているフィールド同士を比較します.

引数がこのクラスを継承したオブジェクトではない場合,
引数のオブジェクトに対して get("year"), get("month"), get("date"), get("hour"), get("minute")
を呼び出した結果を比較対象のフィールドとします.

@param  Time 比較対象の時間
@return int  この時間のほうが過去の場合は負の値, 未来の場合は正の値, それ以外は 0
@ignore