PHP.mk документација

IntlTimeZone

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

class.intltimezone.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека class.intltimezone.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
IntlTimeZone

Референца за `class.intltimezone.php` со подобрена типографија и навигација.

class.intltimezone.php

Класата IntlTimeZone

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

Вовед

Синопсис на класата

class IntlTimeZone {
/* Константи */
public const int DISPLAY_SHORT;
public const int DISPLAY_LONG;
public const int DISPLAY_SHORT_GMT;
public const int DISPLAY_LONG_GMT;
public const int TYPE_ANY;
public const int TYPE_CANONICAL;
/* Методи */
private __construct()
public static countEquivalentIDs(string $timezoneId): int|false
public static createDefault(): IntlTimeZone
public static createEnumeration(string|int|null $countryOrRawOffset = null): IntlIterator|false
public static createTimeZone(string $timezoneId): ?IntlTimeZone
public static createTimeZoneIDEnumeration(int $type, ?string $region = null, ?int $rawOffset = null): IntlIterator|false
public static fromDateTimeZone(DateTimeZone $timezone): ?IntlTimeZone
public static getCanonicalID(string $timezoneId, bool &$isSystemId = null): string|false
public getDSTSavings(): int
public static getEquivalentID(string $timezoneId, int $offset): string|false
public static getGMT(): IntlTimeZone
public getID(): string|false
public static getIDForWindowsID(string $timezoneId, ?string $region = null): string|false
public getOffset(
         float $timestamp,
         bool $local,
         int &$rawOffset,
         int &$dstOffset
): bool
public getRawOffset(): int
public static getRegion(string $timezoneId): string|false
public static getTZDataVersion(): string|false
public static getUnknown(): IntlTimeZone
public static getWindowsID(string $timezoneId): string|false
}

Дневник на промени

Верзија = NULL
8.4.0 Константите на класата сега се типизирани.

Содржина

  • IntlTimeZone::__construct — Приватен конструктор за да се забрани директна инстанцијација
  • IntlTimeZone::countEquivalentIDs — Постави го датумот на промена на Gregorian Calendar
  • IntlTimeZone::createDefault — Земи го бројот на идентификатори во групата за еквивалентност што го вклучува дадениот идентификатор
  • IntlTimeZone::createEnumeration — Добиј енумерација над идентификаторите на временските зони поврзани со дадената земја или поместување
  • IntlTimeZone::createTimeZone — Создај објект за временска зона за дадениот ID
  • IntlTimeZone::createTimeZoneIDEnumeration — Добиј енумерација над системските идентификатори на временските зони со дадени услови за филтрирање
  • IntlTimeZone::fromDateTimeZone — Создај објект за временска зона од DateTimeZone
  • IntlTimeZone::getCanonicalID — Добиј канонски системски идентификатор на временска зона или нормализиран прилагоден идентификатор на временска зона за дадениот идентификатор на временска зона
  • IntlTimeZone::getDisplayName — Добиј име на оваа временска зона погодно за презентација на корисникот
  • IntlTimeZone::getDSTSavings — Добиј количина време што треба да се додаде на локалното стандардно време за да се добие локалното часовно време
  • IntlTimeZone::getEquivalentID — Добиј ID во групата за еквивалентност што го вклучува дадениот ID
  • IntlTimeZone::getErrorCode — Земете го последниот код за грешка на објектот
  • IntlTimeZone::getErrorMessage — Земете ја последната порака за грешка на објектот
  • IntlTimeZone::getGMT — Создај GMT (UTC) временска зона
  • IntlTimeZone::getID — Добиј ID на временска зона
  • IntlTimeZone::getIDForWindowsID — Преведи временска зона на Windows во системска временска зона
  • IntlTimeZone::getOffset — Добиј сурово и GMT поместување на временската зона за дадениот момент во времето
  • IntlTimeZone::getRawOffset — Добиј сурово GMT поместување (пред да се земе предвид летното сметање на времето
  • IntlTimeZone::getRegion — Добиј код на регион поврзан со дадениот системски идентификатор на временска зона
  • IntlTimeZone::getTZDataVersion — Добиј верзија на податоци за временска зона што моментално се користи од ICU
  • IntlTimeZone::getUnknown — Добиј "непозната" временска зона
  • IntlTimeZone::getWindowsID — Преведи системско временско подрачје во временско подрачје на Windows
  • IntlTimeZone::hasSameRules — Провери дали оваа зона ги има истите правила и поместување како друга зона
  • IntlTimeZone::toDateTimeZone — Претвори во објект DateTimeZone
  • IntlTimeZone::useDaylightTime — Провери дали ова временско подрачје користи летно сметање на времето

Белешки од корисници 1 белешка

Анонимен
пред 7 години
Currently there is no documentation available for IntlTimeZone::parse(), so it took some while to figure out a working example:

<?php
// Example for 32-bit PHP 7.0.30 with Intl version 1.1, ICU version 56.1
// To get the offset of a date including daylight saving time, getRawOffset() is
// not sufficient, getOffset() is needed. And a date is needed to take history
// in to account.

\Locale::setDefault('nl-NL');
$date = '25-03-2018 12:34:56.123456 CEST';  // 3rd of Februari
$timezone = \IntlTimeZone::createDefault();  // = CEST = GMT +02:00
print 'Time zone: ' . $timezone->getDisplayName() . PHP_EOL;
print 'DST: ' . ($timezone->useDaylightTime() ? 'DOES' : 'DOES NOT')
  . ' happen to this timezone' . PHP_EOL;
print 'Possible DST difference (usec): ' . $timezone->getDSTSavings() . PHP_EOL;

$formatter = new \IntlDateFormatter(
  \Locale::getDefault(),
  \IntlDateFormatter::MEDIUM,
  \IntlDateFormatter::MEDIUM,
  $timezone
);
$timestamp = $formatter->parse($date);
if (FALSE === $timestamp) {
  throw new \Exception('Can not parse date');
}
elseif (is_float($timestamp)) {
  throw new \Exception('Y2K38 bug @ 32 bit, please use 64 bit');
}
print 'Date parsed by IntlFormatter::parse(): ' . date('c', $timestamp)
  . PHP_EOL;

$cal = \IntlCalendar::createInstance();
$cal->setTimeZone($timezone);
$cal->setLenient(FALSE);
// set UNIX timestamp offset (1970-01-01 00:00:00.000000) and add the timestamp
$cal->set(1970, 0, 1, 0, 0, 0);
$cal->set(\IntlCalendar::FIELD_MILLISECOND, 0); // note: msec, not usec
$cal->add(\IntlCalendar::FIELD_SECOND, $timestamp); // note: no milliseconds
$cal->add(\IntlCalendar::FIELD_MILLISECOND, 124);  // hardcode for simplicity

header('Content-type: text/plain');
print 'Date constructed with IntlCalendar: ' . $formatter->format($cal)
  . PHP_EOL;
print 'Raw offset by getRawOffset(): ' . $timezone->getRawOffset() . PHP_EOL;

/**
 * Function IntlTimeZone::getOffset()
 * @link http://icu-project.org/apiref/icu4c/classicu_1_1TimeZone.html#afcbc1c48bf0b453b0123c4cb75d20e96
 * @param float $date
 *   moment in time for which to return offsets, in units of milliseconds from
 *   January 1, 1970 0:00 GMT, either GMT time or local wall time, depending on
 *   `local'.
 * @param bool $local
 *   if true, `date' is local wall time; otherwise it is in GMT time.
 * @param int &$rawOffset
 *   output parameter to receive the raw offset, that is, the offset not
 *   including DST adjustments
 * @param int &$dstOffset
 *   output parameter to receive the DST offset, that is, the offset to be added
 *   to `rawOffset' to obtain the total offset between local and GMT time. If
 *   DST is not in effect, this value is zero; otherwise it is a positive value,
 *   typically one hour.
 */

$rawOffset = NULL;
$dstOffset = NULL;
$timestamp *= 1000.0; // convert unix timestamp from secs to msecs
$timezone->getOffset($timestamp, $local = FALSE, $rawOffset, $dstOffset);
print 'Output of getOffset():' . PHP_EOL . json_encode([
  'rawOffset' => $rawOffset,
  'dstOffset' => $dstOffset
], JSON_PRETTY_PRINT) . PHP_EOL;
?>
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.