PHP 7.4.24 Released!



(PHP 5 >= 5.2.0, PHP 7)

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


Stil obiect-orientat

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

Stil procedural

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.



Doar pentru stilul procedural: Un obiect DateTimeZone întors de funcția timezone_open()


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

Valorile întoarse

Returns time zone offset in seconds.

Istoricul schimbărilor

Versiune Descriere
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
7 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