jdtojewish()
Aprenda como a função PHP jdtojewish() converte um Dia Juliano para uma data no calendário judaico, com sintaxe, flags, exemplos e armadilhas comuns.
Introdução
A função PHP jdtojewish() converte um Dia Juliano (um número inteiro contínuo de dias) em uma data no calendário judaico (hebraico). Ela faz parte da extensão Calendar do PHP e é a inversa de jewishtojd().
Esta página aborda a sintaxe da função, seus parâmetros e valor de retorno, as flags opcionais de formatação em hebraico, um exemplo funcional e as armadilhas comuns a observar.
O que é um Dia Juliano?
Um Dia Juliano (JDC) é uma contagem contínua de dias inteiros desde o meio-dia de 1º de janeiro de 4713 a.C. (no calendário juliano proléptico). Como cada data — passada ou futura — corresponde a um único inteiro, o JDC é uma representação neutra conveniente: você converte qualquer data de calendário em um Dia Juliano e depois converte novamente para outro calendário. É exatamente assim que funcionam as funções de conversão de calendário do PHP: cada calendário possui uma função *tojd() e uma função jdto*().
Note que "Dia Juliano" não tem relação com o "calendário Juliano" — eles apenas compartilham o nome.
Sintaxe
jdtojewish(int $julian_day, bool $hebrew = false, int $flags = 0): string| Parâmetro | Descrição |
|---|---|
$julian_day | O Dia Juliano a ser convertido. Deve ser um inteiro. |
$hebrew | Se true, retorna a data como texto hebraico em vez de mês/dia/ano. |
$flags | Uma máscara de bits de constantes de formatação (veja abaixo). Usado apenas quando $hebrew é true. |
Valor de retorno: uma string. Quando $hebrew é false, o formato é "mês/dia/ano", por exemplo "8/7/5784". Quando $hebrew é true, a data é renderizada como uma string em hebraico.
Flags de formatação hebraica
Essas constantes podem ser combinadas com o operador | (OR bit a bit) e só têm efeito quando $hebrew é true:
| Constante | Efeito |
|---|---|
CAL_JEWISH_ADD_ALAFIM_GERESH | Adiciona um geresh (') para os milhares. |
CAL_JEWISH_ADD_ALAFIM | Adiciona a palavra alafim (milhares). |
CAL_JEWISH_ADD_GERESHAYIM | Adiciona gershayim antes da última letra da data. |
Exemplo básico
<?php
// First convert a Gregorian date to a Julian Day Count.
$julianDay = gregoriantojd(8, 7, 2024); // month, day, year
// Then convert that Julian Day to a Jewish calendar date.
$jewishDate = jdtojewish($julianDay);
echo "Julian Day Count: $julianDay\n";
echo "Jewish date (month/day/year): $jewishDate\n";
?>Aqui partimos da data gregoriana de 7 de agosto de 2024, convertemos para um Dia Juliano com gregoriantojd(), e passamos essa contagem para jdtojewish(). O resultado é retornado no formato mês/dia/ano, usando os números de mês e ano do calendário judaico.
Retornando uma string em hebraico
Passe true como segundo argumento para renderizar a data em texto hebraico e combine as flags para uma formatação mais completa:
<?php
$julianDay = gregoriantojd(8, 7, 2024);
$hebrew = jdtojewish(
$julianDay,
true,
CAL_JEWISH_ADD_GERESHAYIM | CAL_JEWISH_ADD_ALAFIM_GERESH
);
echo $hebrew;
?>Armadilhas comuns
- Use um Dia Juliano inteiro, não fracionário. Funções como
gregoriantojd()retornam uma contagem inteira. Passar um float como2459401.5é rejeitado no PHP moderno — trabalhe sempre com inteiros de dia completo. - As flags são ignoradas a menos que
$hebrewsejatrue. As constantesCAL_JEWISH_*só alteram a saída no formato de string hebraica. - A extensão Calendar deve estar disponível.
jdtojewish()faz parte da extensãocalendardo PHP. Ela vem empacotada por padrão na maioria das distribuições, mas se a função não estiver definida, habilite/compile a extensão.
Funções relacionadas
jewishtojd()— a inversa: data judaica para Dia Juliano.gregoriantojd()— data gregoriana para Dia Juliano.jdtogregorian()— Dia Juliano para data gregoriana.jdmonthname()— nome do mês de um Dia Juliano em um determinado calendário.jddayofweek()— dia da semana de um Dia Juliano.
Conclusão
jdtojewish() converte um Dia Juliano em uma data do calendário judaico, opcionalmente como texto hebraico. Combine-a com gregoriantojd() (ou qualquer outra função *tojd()) para converter entre calendários, lembre-se de passar uma contagem de dias inteira e use as flags CAL_JEWISH_* apenas quando solicitar o formato de string hebraica.