W3docs

jdtojulian()

Scopri come la funzione PHP jdtojulian() converte un Conteggio Giorni Giuliani in una data del calendario giuliano, con esempi pratici e la funzione inversa juliantojd().

La funzione PHP jdtojulian()

La funzione jdtojulian() converte un Conteggio Giorni Giuliani in una data nel calendario giuliano, restituita come stringa nel formato mese/giorno/anno.

È importante non confondere i due significati della parola "giuliano":

  • Conteggio Giorni Giuliani (JDC) — un conteggio continuo di giorni a partire da mezzogiorno in Tempo Universale del 1° gennaio 4713 a.C. È semplicemente un numero (ad esempio, 2459459) e non ha nulla a che fare con un calendario specifico. È ampiamente utilizzato in astronomia perché semplifica l'aritmetica delle date.
  • Calendario giuliano — il calendario introdotto da Giulio Cesare nel 45 a.C., utilizzato in tutta Europa fino a quando non fu gradualmente sostituito dal calendario gregoriano a partire dal 1582. Oggi i due calendari differiscono di 13 giorni.

jdtojulian() accetta un Conteggio Giorni Giuliani e restituisce la data corrispondente nel calendario giuliano. La sua controparte, jdtogregorian(), fa lo stesso ma restituisce la data nel calendario gregoriano.

Sintassi

jdtojulian(int $julian_day): string

Accetta un parametro — il Conteggio Giorni Giuliani come intero — e restituisce la corrispondente data del calendario giuliano come stringa "mese/giorno/anno". Se l'input è 0 (un giorno giuliano non valido), restituisce "0/0/0".

Conversione di un Conteggio Giorni Giuliani in una Data del Calendario Giuliano

<?php

$jdc = 2459459;
$julianDate = jdtojulian($jdc);

echo $julianDate; // Outputs: 8/19/2021

Il valore restituito è una stringa, quindi puoi suddividerlo quando hai bisogno delle singole parti:

<?php

[$month, $day, $year] = explode('/', jdtojulian(2459459));

echo "Year: $year, Month: $month, Day: $day";
// Outputs: Year: 2021, Month: 8, Day: 19

Perché le date giuliana e gregoriana differiscono

Lo stesso Conteggio Giorni Giuliani corrisponde a un'etichetta diversa in ciascun calendario. Per 2459459:

<?php

echo jdtojulian(2459459);    // Outputs: 8/19/2021  (Julian calendar)
echo "\n";
echo jdtogregorian(2459459); // Outputs: 9/1/2021   (Gregorian calendar)

Il divario di 13 giorni tra 8/19 e 9/1 è esattamente lo scarto attuale tra il calendario giuliano e quello gregoriano — entrambe le righe descrivono lo stesso identico istante nel tempo.

Conversione di una Data del Calendario Giuliano in un Conteggio Giorni Giuliani

Per fare il percorso inverso — da una data del calendario giuliano a un Conteggio Giorni Giuliani — usa juliantojd(). Accetta il mese, il giorno e l'anno e restituisce un intero:

<?php

$jdc = juliantojd(8, 19, 2021);

echo $jdc; // Outputs: 2459459

Poiché le due funzioni sono inverse, un ciclo di andata e ritorno restituisce la data originale:

<?php

echo jdtojulian(juliantojd(8, 19, 2021)); // Outputs: 8/19/2021

Quando Usare Questa Funzione?

Il calendario giuliano è raramente necessario per le date delle applicazioni quotidiane — per queste, preferisci le API PHP DateTime e date(), che lavorano con il calendario gregoriano. jdtojulian() è utile quando:

  • Si lavora con documenti storici datati prima della riforma gregoriana del 1582 (o in paesi che l'hanno adottata molto più tardi).
  • Si interfaccia con dati astronomici o genealogici che memorizzano le date come Conteggi Giorni Giuliani.
  • Si converte tra sistemi di calendario dove il Conteggio Giorni Giuliani funge da perno neutro — ad esempio, gregoriantojd() → memorizza l'intero → jdtojulian().

Nota: L'estensione calendar deve essere abilitata perché queste funzioni siano disponibili. È inclusa con PHP e compilata per impostazione predefinita nella maggior parte delle build.

Conclusione

La funzione jdtojulian() converte un Conteggio Giorni Giuliani in una stringa di data nel calendario giuliano, mentre juliantojd() esegue l'operazione inversa. Rispecchiano la coppia gregoriana, jdtogregorian() e gregoriantojd(), motivo per cui lo stesso conteggio giorni produce due etichette di calendario diverse. Per tutti i dettagli, consulta la documentazione ufficiale di jdtojulian() e juliantojd().

Pratica

Pratica
Qual è il ruolo della funzione jdtojulian() in PHP?
Qual è il ruolo della funzione jdtojulian() in PHP?
Was this page helpful?