/** * 指定された時差 (分単位) の値が妥当かどうかを調べ, 必要に応じて値を丸めた結果を返します. * 世界で実際に使用されているタイムゾーンは UTC-12 から UTC+14 ですが, * このメソッドでは -23:45 から +23:45 を妥当なタイムゾーンとみなします. * もしも -23:45 以前の時差が指定された場合は -23:45 (1425), * +23:45 以降の時差が指定された場合は +23:45 (-1425) に丸めた結果を返します. * * もしも NULL が指定された場合は {@link Util::getTimeZoneOffset} の結果を返します. * それ以外の数値以外の値が指定された場合は, 整数にキャストした値を使用します. * * @param int $offset * @return int 引数を -1425 以上 1425 以下に丸めた値 */ public static function cleanTimeZoneOffset($offset) { return isset($offset) ? Values::intValue($offset, -1425, 1425) : Util::getTimeZoneOffset(); }
/** * コンストラクタに指定された $encodeOptions および $decodeOptions * を初期化します. * * @param array|int $options コンストラクタに指定されたオプション * @return ArrayMap 各オプションの ON/OFF をあらわす ArrayMap */ private function initOptions($options) { $result = new ArrayMap(); if (is_scalar($options)) { return $this->initOptionsByBitMask(Values::intValue($options, 0)); } if (!is_array($options)) { return $result; } foreach ($options as $key => $value) { $result->put($key, \Peach\Util\Values::boolValue($value)); } return $result; }