Как да използвате функцията date_offset_get() в PHP

Kak Da Izpolzvate Funkciata Date Offset Get V Php



The date_offset_get() е функция от клас DateTime в PHP, използвана за извличане на отместването на часовата зона в секунди за даден обект DateTime. Позволява на разработчиците да получат разликата между времето в определената часова зона и UTC (координирано универсално време).

Синтаксис

Синтаксисът на date_offset_get() функция е както следва:

вътр date_offset_get ( Време за среща $обект )

Параметърът на функцията е:







$обект: Обектът DateTime, от който да се извлече отместването на часовата зона.



Върната стойност

The date_offset_get() функцията връща отместването на часовата зона в секунди като цяло число.



Как да използвате функцията date_offset_get() в PHP

Ето пример за това как да използвате PHP date_offset_get() функция за извличане на UTC отместването за текущата часова зона:







$ дата = нов Време за среща ( 'сега' ) ;

$офсет = date_offset_get ( $ дата ) ;

ехо 'Изместване: ' . $офсет ;

?>

В този пример създаваме нов обект DateTime, зададен на текущата дата и час, като използваме 'сега' низ. След това предаваме този обект на date_offset_get() функция, която връща UTC отместването в секунди. Накрая отпечатваме UTC отместването с помощта на командата echo.



Забележка: Отместването е нула, защото времето не е зададено за този случай.

Получаване на компенсация за конкретна дата и час

PHP date_offset_get() методът може също да се използва за получаване на UTC отместването за определена дата и час. За да направите това, трябва да създадете обект DateTime с желаните дата и час и да го предадете на функцията. Ето един пример:



$ дата = нов Време за среща ( „2020-12-31 23:59:59“ , нов DateTimeZone ( „Америка/Ню_Йорк“ ) ) ;

$офсет = date_offset_get ( $ дата ) ;

ехо 'Изместване: ' . $офсет ;

?>

В този пример създаваме нов обект DateTime с дата и час, зададени на 31 декември 2020 г., в 23:59:59 ч. в часовата зона Америка/Ню_Йорк. След това предаваме този обект на date_offset_get() функция, която връща UTC отместването в секунди. Накрая отпечатваме UTC отместването с помощта на командата echo.

Забележка: В горния код часовата зона е зададена на Америка/Ню_Йорк което е 5 часа зад UTC. Следователно се връща -18 000 като отместването, което е 5 часа в секунди.

Преобразуване на датата и часа в различна часова зона

Друг начин за използване на PHP date_offset_get() функцията е да преобразува обект за дата и час в различна часова зона. За да направите това, трябва да създадете нов DateTimeZone обект с желаната часова зона и го задайте като свойство на вашия обект DateTime с помощта на setDate() и setTime() методи. Ето един пример:



$ дата = нов Време за среща ( 'сега' , нов DateTimeZone ( „Америка/Ню_Йорк“ ) ) ;

$ дата -> setTimeZone ( нов DateTimeZone ( 'Европа/Лондон' ) ) ;

$офсет = date_offset_get ( $ дата ) ;

ехо 'Изместване: ' . $офсет ;

?>

В този пример текущата дата и час се създават като нов обект DateTime в часовата зона Америка/Ню Йорк. След това задаваме часовата зона на Европа/Лондон с помощта на setTimeZone() метод. Накрая отпечатваме датата и часа с помощта на формат () метод, който форматира датата и часа в низ въз основа на посочения формат.

Забележка: В горния код часовата зона е зададена на Америка/Ню_Йорк което е 5 часа зад UTC. След това задаваме часовата зона на Европа/Лондон което е 1 час по-напред от UTC. Следователно връща 3600 като отместване, което е 1 час в секунди.

Заключение

PHP date_offset_get() е полезна функция за уеб разработчиците за извличане на отместването на часовата зона спрямо определена дата и час. В комбинация с други функции за дата и час може да се използва за изчисляване на часовата разлика между две часови зони или съответно да коригира клеймото за време. Разбирането как да използвате тази функция ефективно може значително да подобри функционалността и възможностите на всяко уеб базирано приложение.