W3docs

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âmetroDescrição
$julian_dayO Dia Juliano a ser convertido. Deve ser um inteiro.
$hebrewSe true, retorna a data como texto hebraico em vez de mês/dia/ano.
$flagsUma 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:

ConstanteEfeito
CAL_JEWISH_ADD_ALAFIM_GERESHAdiciona um geresh (') para os milhares.
CAL_JEWISH_ADD_ALAFIMAdiciona a palavra alafim (milhares).
CAL_JEWISH_ADD_GERESHAYIMAdiciona 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 como 2459401.5 é rejeitado no PHP moderno — trabalhe sempre com inteiros de dia completo.
  • As flags são ignoradas a menos que $hebrew seja true. As constantes CAL_JEWISH_* só alteram a saída no formato de string hebraica.
  • A extensão Calendar deve estar disponível. jdtojewish() faz parte da extensão calendar do 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

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.

Prática

Prática
O que a função PHP jdtojewish() faz?
O que a função PHP jdtojewish() faz?
Was this page helpful?