jdtogregorian()
Aprenda a usar a função jdtogregorian() do PHP para converter datas do calendário juliano para o calendário gregoriano com exemplos práticos.
Introdução
Neste artigo, discutiremos a função jdtogregorian() no PHP e seu uso para converter datas julianas em datas gregorianas. Também abordaremos a história e a importância dos calendários juliano e gregoriano, bem como a diferença entre os dois.
Calendários Juliano e Gregoriano
O calendário juliano foi introduzido por Júlio César em 45 a.C. e baseava-se no conceito de ano solar, ou seja, o tempo que a Terra leva para completar uma órbita ao redor do sol. No entanto, o calendário juliano tinha uma pequena falha que fazia com que ele se desviasse do ano solar em aproximadamente 11 minutos por ano. Isso pode não parecer uma diferença significativa, mas ao longo do tempo levou a um desvio perceptível nas datas do calendário.
Para corrigir esse problema, o calendário gregoriano foi introduzido pelo Papa Gregório XIII em 1582 d.C. O calendário gregoriano foi um refinamento do calendário juliano e visava alinhar as datas do calendário ao ano solar. A diferença entre os dois calendários é que o juliano tinha 365,25 dias no ano, enquanto o gregoriano tem 365,2425 dias. Esse ajuste resultou na eliminação dos anos bissextos nos anos terminados em "00", exceto quando divisíveis por 400.
Datas Julianas
As datas julianas são um sistema de contagem de dias desde 1º de janeiro de 4713 a.C., que foi a data de início do período juliano. As datas julianas são comumente usadas em astronomia e baseiam-se no número de dias decorridos desde o início do período juliano.
Convertendo Datas Julianas para Datas Gregorianas
A função jdtogregorian() no PHP converte uma Contagem de Dias Julianos em uma data do calendário gregoriano. Ela faz parte da extensão de calendário do PHP, que está habilitada por padrão na maioria das compilações.
Sintaxe
jdtogregorian(int $julian_day): string$julian_day é a Contagem de Dias Julianos a ser convertida. A função retorna a data gregoriana correspondente como uma string no formato mês/dia/ano — por exemplo, 10/4/2021. Note que as partes não são preenchidas com zeros (você obtém 10/4/2021, não 10/04/2021), e um dia juliano de 0 retorna a string sentinela 0/0/0.
Uma Contagem de Dias Julianos é um número inteiro simples que conta os dias desde 1º de janeiro de 4713 a.C. Não a confunda com uma data no calendário juliano — são duas coisas diferentes. Para obter uma Contagem de Dias Julianos a partir de uma data gregoriana, use
gregoriantojd()oucal_to_jd().
Exemplo básico
Vamos converter a Contagem de Dias Julianos 2459492 para a data gregoriana correspondente:
<?php
echo jdtogregorian(2459492);Saída:
10/4/2021Reformatando a saída para ISO 8601
Como a string retornada usa mês/dia/ano sem preenchimento com zeros, analise-a com os caracteres de formato n/j/Y (n = mês sem zeros à esquerda, j = dia sem zeros à esquerda) quando precisar de um valor AAAA-MM-DD padrão:
<?php
$gregorian = jdtogregorian(2459492); // "10/4/2021"
$date = date_create_from_format('n/j/Y', $gregorian);
echo $date->format('Y-m-d');Saída:
2021-10-04Consulte date_create_from_format() para mais informações sobre como analisar datas em formatos personalizados.
Ida e volta de uma data
jdtogregorian() é o inverso de gregoriantojd(). Converter uma data para uma Contagem de Dias Julianos e de volta retorna o valor original:
<?php
$jd = gregoriantojd(10, 4, 2021); // month, day, year
echo $jd, "\n"; // 2459492
echo jdtogregorian($jd); // 10/4/2021Saída:
2459492
10/4/2021Funções de Calendário Relacionadas
Ao trabalhar com Contagens de Dias Julianos, você frequentemente recorrerá a estas funções complementares:
gregoriantojd()— converte uma data gregoriana em uma Contagem de Dias Julianos (o inverso desta função).jdtojulian()— converte uma Contagem de Dias Julianos para uma data no calendário juliano.cal_to_jd()ecal_from_jd()— conversões genéricas com suporte a diferentes calendários.jddayofweek()— obtém o dia da semana para uma Contagem de Dias Julianos.
Conclusão
Em conclusão, a função jdtogregorian() no PHP é uma ferramenta útil para converter datas julianas em datas gregorianas. Compreender a diferença entre os dois calendários e a importância de sua introdução pode fornecer percepções sobre o desenvolvimento dos sistemas de medição do tempo. Esperamos que este artigo tenha proporcionado uma compreensão abrangente do tema e ajudado você em sua busca por informações.