(PHP 5 >= 5.2.0, PHP 7)

DateTimeZone::getOffset -- timezone_offset_getReturns the timezone offset from GMT


Stile orientato agli oggetti

public DateTimeZone::getOffset ( DateTimeInterface $datetime ) : int

Stile procedurale

timezone_offset_get ( DateTimeZone $object , DateTimeInterface $datetime ) : int

This function returns the offset to GMT for the date/time specified in the datetime parameter. The GMT offset is calculated with the timezone information contained in the DateTimeZone object being used.

Elenco dei parametri


Solo per lo stile procedurale: Un oggetto DateTimeZone restituito da timezone_open()


DateTime that contains the date/time to compute the offset from.

Valori restituiti

Returns time zone offset in seconds.

Log delle modifiche

Versione Descrizione
8.0.0 Prior to this version, false was returned on failure.
5.5.19, 5.6.3 datetime type changed to DateTimeInterface. Previously, DateTime.


Example #1 DateTimeZone::getOffset() examples

// Create two timezone objects, one for Taipei (Taiwan) and one for
// Tokyo (Japan)
$dateTimeZoneTaipei = new DateTimeZone("Asia/Taipei");
$dateTimeZoneJapan = new DateTimeZone("Asia/Tokyo");

// Create two DateTime objects that will contain the same Unix timestamp, but
// have different timezones attached to them.
$dateTimeTaipei = new DateTime("now"$dateTimeZoneTaipei);
$dateTimeJapan = new DateTime("now"$dateTimeZoneJapan);

// Calculate the GMT offset for the date/time contained in the $dateTimeTaipei
// object, but using the timezone rules as defined for Tokyo
// ($dateTimeZoneJapan).
$timeOffset $dateTimeZoneJapan->getOffset($dateTimeTaipei);

// Should show int(32400) (for dates after Sat Sep 8 01:00:00 1951 JST).

add a note add a note

User Contributed Notes 1 note

Fred Gandt
6 years ago
Procedural Style:

// Don't know where the server is or how its clock is set, so default to UTC
date_default_timezone_set( "UTC" );

// The client is in England where daylight savings may be in effect
$daylight_savings_offset_in_seconds = timezone_offset_get( timezone_open( "BST" ), new DateTime() );

// Do something useful with the number
echo date( "U" ) + $daylight_savings_offset_in_seconds;
To Top