Синтакса
Синтакса оф тхе дате_оффсет_гет() функција је следећа:
инт дате_оффсет_гет ( Датум време $објецт )Параметар функције је:
$објецт: Објект ДатеТиме из којег се преузима помак временске зоне.
Повратна вредност
Тхе дате_оффсет_гет() функција враћа помак временске зоне у секундама као цео број.
Како користити функцију дате_оффсет_гет() у ПХП-у
Ево примера како се користи ПХП дате_оффсет_гет() функција за преузимање УТЦ офсета за тренутну временску зону:
$дате = Нова Датум време ( 'Сада' ) ;
$оффсет = дате_оффсет_гет ( $дате ) ;
одјек 'Офсет: ' . $оффсет ;
?>
У овом примеру креирамо нови објекат ДатеТиме постављен на тренутни датум и време користећи 'Сада' низ. Затим прослеђујемо овај објекат на дате_оффсет_гет() функција, која враћа УТЦ офсет у секундама. На крају, штампамо УТЦ офсет користећи ецхо изјаву.
Белешка: Помак је нула јер време није подешено за овај случај.
Добијање померања за одређени датум и време
ПХП дате_оффсет_гет() метода се такође може користити за добијање УТЦ офсета за одређени датум и време. Да бисте то урадили, потребно је да креирате објекат ДатеТиме са жељеним датумом и временом и проследите га функцији. Ево примера:
$дате = Нова Датум време ( '2020-12-31 23:59:59' , Нова ДатеТимеЗоне ( 'Америца/Нев_Иорк' ) ) ;
$оффсет = дате_оффсет_гет ( $дате ) ;
одјек 'Офсет: ' . $оффсет ;
?>
У овом примеру, креирамо нови објекат ДатеТиме са датумом и временом постављеним на 31. децембар 2020, у 23:59:59 поподне у временској зони Америца/Нев_Иорк. Затим прослеђујемо овај објекат на дате_оффсет_гет() функција, која враћа УТЦ офсет у секундама. На крају, штампамо УТЦ офсет користећи ецхо изјаву.
Белешка: У горњем коду, временска зона је подешена на Америца/Нев_Иорк што је 5 сати иза УТЦ. Дакле, враћа се -18000 као офсет који износи 5 сати у секундама.
Претварање датума и времена у другу временску зону
Други начин коришћења ПХП-а дате_оффсет_гет() функција је да конвертује објекат датума и времена у другу временску зону. Да бисте то урадили, потребно је да креирате нову ДатеТимеЗоне објекат са жељеном временском зоном и поставите га као својство вашег ДатеТиме објекта користећи подесити датум() и одредити време() методе. Ево примера:
$дате = Нова Датум време ( 'Сада' , Нова ДатеТимеЗоне ( 'Америца/Нев_Иорк' ) ) ;
$дате -> сетТимеЗоне ( Нова ДатеТимеЗоне ( 'Европа/Лондон' ) ) ;
$оффсет = дате_оффсет_гет ( $дате ) ;
одјек 'Офсет: ' . $оффсет ;
?>
У овом примеру, тренутни датум и време су креирани као нови објекат ДатеТиме у временској зони Америца/Нев_Иорк. Затим смо поставили временску зону на Европа/Лондон користећи сетТимеЗоне() методом. На крају, штампамо датум и време користећи формат() метод, који форматира датум и време у стринг на основу наведеног формата.
Белешка: У горњем коду, временска зона је подешена на Америца/Нев_Иорк што је 5 сати иза УТЦ. Затим постављамо временску зону на Европа/Лондон што је 1 сат испред УТЦ. Дакле, враћа 3600 као помак који је 1 сат у секундама.
Закључак
ПХП дате_оффсет_гет() функција је корисна функција за веб програмере да издвоје помак временске зоне за одређени датум и време. У комбинацији са другим функцијама датума и времена, може се користити за израчунавање временске разлике између две временске зоне или прилагођавање временске ознаке у складу са тим. Разумевање како ефикасно користити ову функцију може значајно побољшати функционалност и могућности било које веб апликације.