jdmonthname()
Impara a usare cal_jdmonthname() in PHP per ottenere il nome del mese da un conteggio di giorni giuliani. Sintassi, costanti CAL_MONTH_* ed esempi.
Funzione PHP: cal_jdmonthname()
La funzione PHP cal_jdmonthname() restituisce il nome del mese per un dato conteggio di giorni giuliani, nel sistema di calendario specificato. Questa pagina spiega cos'è un conteggio di giorni giuliani, la sintassi della funzione e le relative costanti di modalità, esempi eseguibili, il valore restituito e le insidie da conoscere.
Attenzione: L'URL di questo capitolo è storicamente denominato
jdmonthname, ma la moderna funzione PHP ècal_jdmonthname(). Il vecchio aliasjdmonthname()faceva parte della famigliajdche PHP ha rimosso in PHP 8.0 — usa invececal_jdmonthname().
Sintassi
cal_jdmonthname(int $julian_day, int $mode): string$julian_day— un conteggio di giorni giuliani (un intero), tipicamente prodotto dacal_to_jd()a partire da una data normale.$mode— il calendario da cui leggere il nome del mese. I valori accettati sono:
| Modalità | Calendario | Stile del nome del mese |
|---|---|---|
CAL_MONTH_GREGORIAN_LONG | Gregoriano | Nome completo (January) |
CAL_MONTH_GREGORIAN_SHORT | Gregoriano | Abbreviato (Jan) |
CAL_MONTH_JULIAN_LONG | Giuliano | Nome completo |
CAL_MONTH_JULIAN_SHORT | Giuliano | Abbreviato |
CAL_MONTH_JEWISH | Ebraico | Nome completo |
CAL_MONTH_FRENCH | Repubblicano Francese | Nome completo |
La funzione restituisce il nome del mese come stringa. Funziona sull'intera estensione calendar, che deve essere abilitata nella tua build PHP.
Cos'è un conteggio di giorni giuliani?
Prima di approfondire il funzionamento della funzione cal_jdmonthname(), è essenziale capire cos'è un conteggio di giorni giuliani. Un conteggio di giorni giuliani è un conteggio continuo di giorni iniziato a mezzogiorno del 1° gennaio 4713 a.C. Fu introdotto da Joseph Scaliger nel 1583 per facilitare i calcoli astronomici e i confronti tra date.
Cosa fa la funzione cal_jdmonthname?
La funzione cal_jdmonthname() accetta due parametri: il conteggio di giorni giuliani e una costante di modalità (uno dei valori CAL_MONTH_* nella tabella sopra) che seleziona il calendario e se si vuole il nome lungo o corto. La funzione restituisce il nome del mese corrispondente come stringa.
Un punto di confusione comune: il primo passo (cal_to_jd()) usa costanti di calendario come CAL_GREGORIAN, ma la modalità passata a cal_jdmonthname() deve essere una costante CAL_MONTH_*. Non sono intercambiabili.
Ecco un esempio:
Esempio della funzione cal_jdmonthname() in PHP
<?php
// Convert today's date to a Julian day count.
$jd = cal_to_jd(CAL_GREGORIAN, (int) date("m"), (int) date("d"), (int) date("Y"));
// Read the long Gregorian month name back from that Julian day.
echo "Today is " . cal_jdmonthname($jd, CAL_MONTH_GREGORIAN_LONG) . ".";
?>In un mese come marzo, questo stampa: Today is March.
Come usare la funzione cal_jdmonthname?
Per usare la funzione cal_jdmonthname() nel tuo codice PHP, devi seguire questi passaggi:
- Determina il conteggio di giorni giuliani per la data che ti interessa. Puoi usare la funzione
cal_to_jd()per convertire una data gregoriana in un conteggio di giorni giuliani. - Chiama la funzione
cal_jdmonthname(), passando il conteggio di giorni giuliani e una costante di modalità (ad es.CAL_MONTH_GREGORIAN_LONGoCAL_MONTH_JULIAN_LONG). - Usa il valore restituito nel tuo codice secondo necessità.
Nota: Le vecchie funzioni dell'estensione jd sono state rimosse in PHP 8.0. Usa sempre le funzioni cal_* per le operazioni sul calendario nel PHP moderno.
Esempio
Ecco come puoi leggere sia il nome del mese lungo che quello corto per la stessa data cambiando solo la costante di modalità:
Come usare la funzione cal_jdmonthname() in PHP?
<?php
$jd = cal_to_jd(CAL_GREGORIAN, 3, 1, 2023); // March 1, 2023
echo "Long: " . cal_jdmonthname($jd, CAL_MONTH_GREGORIAN_LONG) . "\n"; // Long: March
echo "Short: " . cal_jdmonthname($jd, CAL_MONTH_GREGORIAN_SHORT) . "\n"; // Short: Mar
?>Poiché l'unica cosa che cambia è la modalità, questo è il modo più chiaro per passare dai nomi completi (March) alle abbreviazioni (Mar), o tra sistemi di calendario, senza ricalcolare la data.
Nota sul calendario giuliano: Passare una modalità
CAL_MONTH_JULIAN_*legge lo stesso conteggio di giorni giuliani attraverso il più vecchio calendario giuliano. Poiché il calendario giuliano è attualmente in ritardo di circa 13 giorni rispetto a quello gregoriano, una data vicino all'inizio o alla fine di un mese può ricadere in un nome di mese diverso rispetto alla lettura gregoriana.
Vantaggi dell'utilizzo della funzione cal_jdmonthname
Usare la funzione cal_jdmonthname() può rendere il lavoro con i conteggi di giorni giuliani in PHP molto più semplice ed efficiente. Ecco alcuni vantaggi dell'utilizzo di questa funzione:
- Risparmio di tempo: invece di calcolare manualmente il nome del mese per un dato conteggio di giorni giuliani, puoi semplicemente chiamare la funzione
cal_jdmonthname(). - Coerenza: la funzione garantisce di ottenere ogni volta il nome del mese corretto, riducendo il rischio di errori nel codice.
- Flessibilità: la funzione consente di specificare il sistema di calendario, offrendoti un maggiore controllo su come il codice visualizza le informazioni in diversi calendari storici o regionali.
Insidie
- Usa una modalità
CAL_MONTH_*, non una costante di calendarioCAL_*. PassareCAL_GREGORIAN(valore0) coincide per caso conCAL_MONTH_GREGORIAN_LONG, maCAL_JULIANnon fornirà i nomi dei mesi giuliani — usa inveceCAL_MONTH_JULIAN_LONG. - L'estensione
calendardeve essere abilitata. In molte build predefinite non lo è. Se riceviCall to undefined function cal_jdmonthname(), abilitaext-calendarnella tua configurazione PHP. - I vecchi alias
jd*non esistono più.jdmonthname()e simili sono stati rimossi in PHP 8.0; usa sempre le funzionical_*nel codice moderno.
Funzioni correlate
cal_to_jd()— converti una data di calendario in un conteggio di giorni giuliani (l'input per questa funzione).cal_from_jd()— converti un conteggio di giorni giuliani in parti di data, inclusi il numero e il nome del mese.cal_days_in_month()— numero di giorni in un dato mese.cal_info()— nomi dei mesi e dei giorni per un intero calendario in una sola volta.
Conclusione
La funzione cal_jdmonthname() è uno strumento utile per gli sviluppatori PHP che lavorano con conteggi di giorni giuliani: trasforma un numero grezzo di giorni in un nome di mese leggibile nel sistema di calendario scelto. Abbinala a cal_to_jd() per la conversione della data, ricorda di passare una modalità CAL_MONTH_* e assicurati che l'estensione calendar sia abilitata.