libphonenumber\prefixmapper\PrefixTimeZonesMap::lookupTimeZonesForNumber PHP Method

lookupTimeZonesForNumber() public method

As per {@link #lookupTimeZonesForNumber(long)}, but receives the number as a PhoneNumber instead of a long.
public lookupTimeZonesForNumber ( PhoneNumber $number ) : array
$number libphonenumber\PhoneNumber PhoneNumber the phone number to look up
return array the list of corresponding time zones
    public function lookupTimeZonesForNumber(PhoneNumber $number)
    {
        $phonePrefix = $number->getCountryCode() . PhoneNumberUtil::getInstance()->getNationalSignificantNumber($number);
        return $this->lookupTimeZonesForNumberKey($phonePrefix);
    }

Usage Example

 public function testLookupTimeZonesForNumber_RU()
 {
     $number = new PhoneNumber();
     $number->setCountryCode(7)->setNationalNumber(87945154);
     $this->assertEquals(array(self::MOSCOW_TZ), self::$prefixTimeZonesMapForRU->lookupTimeZonesForNumber($number));
     $number->setNationalNumber(421548578);
     $this->assertEquals(array(self::VLADIVOSTOK_TZ), self::$prefixTimeZonesMapForRU->lookupTimeZonesForNumber($number));
     $number->setNationalNumber(342457897);
     $this->assertEquals(array(self::YEKATERINBURG_TZ), self::$prefixTimeZonesMapForRU->lookupTimeZonesForNumber($number));
     // A mobile number
     $number->setNationalNumber(9342457897);
     $this->assertEquals(array(), self::$prefixTimeZonesMapForRU->lookupTimeZonesForNumber($number));
     // An invalid number (too short)
     $number->setNationalNumber(3951);
     $this->assertEquals(array(self::IRKUTSK_TZ), self::$prefixTimeZonesMapForRU->lookupTimeZonesForNumber($number));
 }