Bash:
Conversione di una data in una stringa
How to:
# Ottieni la data corrente come stringa
data_oggi=$(date '+%d/%m/%Y')
echo "Data di oggi: $data_oggi"
Output:
Data di oggi: 30/03/2023
# Converti una data specifica
data_specificata=$(date -d '2023-01-01' '+%A, %d %B %Y')
echo "La data specificata è: $data_specificata"
Output:
La data specificata è: Sunday, 01 January 2023
# Aggiungi tempo alla data corrente e convertila
data_futura=$(date -d "+1 month" '+%d/%m/%Y')
echo "Data tra un mese: $data_futura"
Output:
Data tra un mese: 30/04/2023
Deep Dive
Il comando date
in Bash è esistito fin dai primi giorni di UNIX. È lo strumento standard per manipolare e formattare date e orari. Esistono alternative moderne come il comando gdate
(disponibile su GNU/Linux) e strumenti di scripting come Python e Perl.
Dettagli di implementazione:
%A
,%d
,%B
, e%Y
sono specificatori di formato; rispettivamente rappresentano il giorno della settimana, il giorno del mese, il mese (per nome) e l’anno.- Il flag
-d
indica adate
di interpretare o manipolare una data specifica anziché la data corrente. - È possibile fare calcoli sulla data (es. “+1 month”) direttamente con
date
. Utile per script o funzioni automatizzate.
See Also
- GNU Coreutils - Date: documentazione ufficiale del comando
date
. - Advanced Bash-Scripting Guide: guida per approfondire lo scripting in Bash.
- Stack Overflow: community vasta, utile per domande specifiche o problemi di debugging.