Como usar a função date_offset_get () em PHP

Como Usar A Funcao Date Offset Get Em Php



O date_offset_get() é uma função de classe DateTime em PHP usada para recuperar o deslocamento do fuso horário em segundos para um determinado objeto DateTime. Ele permite que os desenvolvedores obtenham a diferença entre o horário no fuso horário especificado e o UTC (Tempo Universal Coordenado).

Sintaxe

A sintaxe do date_offset_get() função é a seguinte:

int date_offset_get ( Data hora $objeto )

O parâmetro da função é:







$objeto: O objeto DateTime do qual recuperar o deslocamento de fuso horário.



Valor de retorno

O date_offset_get() A função retorna o deslocamento do fuso horário em segundos como um número inteiro.



Como usar a função date_offset_get () em PHP

Aqui está um exemplo de como usar o PHP date_offset_get() função para recuperar o deslocamento UTC para o fuso horário atual:







$data = novo Data hora ( 'agora' ) ;

$deslocamento = date_offset_get ( $ data ) ;

eco 'Desvio: ' . $deslocamento ;

?>

Neste exemplo, criamos um novo objeto DateTime definido para a data e hora atuais usando o 'agora' corda. Em seguida, passamos esse objeto para o date_offset_get() função, que retorna o deslocamento UTC em segundos. Por fim, imprimimos o deslocamento UTC usando a instrução echo.



Observação: O deslocamento é zero porque o tempo não está definido para este caso.

Obtendo compensação para uma data e hora específicas

o PHP date_offset_get() O método também pode ser usado para obter o deslocamento UTC para uma determinada data e hora. Para fazer isso, você precisa criar um objeto DateTime com a data e hora desejada e passá-lo para a função. Aqui está um exemplo:



$ data = novo Data hora ( '2020-12-31 23:59:59' , novo DateTimeZone ( 'América/Nova_York' ) ) ;

$deslocamento = date_offset_get ( $ data ) ;

eco 'Desvio: ' . $deslocamento ;

?>

Neste exemplo, criamos um novo objeto DateTime com data e hora definidas para 31 de dezembro de 2020, às 23h59min59s no fuso horário America/New_York. Em seguida, passamos esse objeto para o date_offset_get() função, que retorna o deslocamento UTC em segundos. Por fim, imprimimos o deslocamento UTC usando a instrução echo.

Observação: No código acima, o fuso horário é definido como América/Nova_York que é 5 horas atrás do UTC. Assim, ele retorna -18000 como o deslocamento que é de 5 horas em segundos.

Convertendo a data e a hora para um fuso horário diferente

Outra forma de usar o PHP date_offset_get() função é converter um objeto de data e hora em um fuso horário diferente. Para fazer isso, você precisa criar um novo DateTimeZone objeto com o fuso horário desejado e defina-o como a propriedade de seu objeto DateTime usando o setData() e definir tempo() métodos. Aqui está um exemplo:



$data = novo Data hora ( 'agora' , novo DateTimeZone ( 'América/Nova_York' ) ) ;

$ data -> definirTimeZone ( novo DateTimeZone ( 'Europa/Londres' ) ) ;

$deslocamento = date_offset_get ( $data ) ;

eco 'Desvio: ' . $deslocamento ;

?>

Neste exemplo, a data e hora atuais são criadas como um novo objeto DateTime no fuso horário America/New_York. Em seguida, definimos o fuso horário para Europa/Londres usando o definirTimeZone() método. Por fim, imprimimos a data e a hora usando o formatar() método, que formata a data e a hora em uma string com base no formato especificado.

Observação: No código acima, o fuso horário é definido como América/Nova_York que é 5 horas atrás do UTC. Em seguida, definimos o fuso horário para Europa/Londres que é 1 hora à frente do UTC. Portanto, ele retorna 3600 como o deslocamento que é de 1 hora em segundos.

Conclusão

PHP date_offset_get() A função é uma função útil para desenvolvedores da Web para extrair o deslocamento do fuso horário de uma data e hora especificadas. Em combinação com outras funções de data e hora, pode ser usado para calcular a diferença de tempo entre dois fusos horários ou ajustar o timestamp de acordo. Entender como usar essa função de forma eficaz pode aprimorar significativamente a funcionalidade e os recursos de qualquer aplicativo baseado na web.