Bash:
Tulevan tai menneen päivämäärän laskeminen
Miten:
# Tulevaisuuden päivämäärän laskeminen (3 päivää nykyhetkestä)
päivämäärä_3_päivää="$(date -d "+3 days" +%Y-%m-%d)"
echo "Kolmen päivän päästä: $päivämäärä_3_päivää"
# Menneisyyden päivämäärän laskeminen (5 päivää sitten)
viisi_päivää_sitten="$(date -d "5 days ago" +%Y-%m-%d)"
echo "Viisi päivää sitten: $viisi_päivää_sitten"
Esimerkkitulostus:
Kolmen päivän päästä: 2023-04-14
Viisi päivää sitten: 2023-04-06
Syväsukellus
Bash-komentorivillä päivämäärien laskeminen käyttää date
komentoa, joka on ollut käytössä jo Unix-järjestelmien alkuaikoina. Vaihtoehtoina date
:lle löytyy ohjelmia kuten DateTime
Perlissä tai datetime
Pythonissa. Implementaatiotiedoissa on huomioitava, että päivämäärien laskennassa tulee ottaa huomioon karkausvuodet ja aikavyöhykkeet. Bashin date
käsittelee nämä automaattisesti.
Katso Myös
- GNU Coreutils
date
: https://www.gnu.org/software/coreutils/manual/html_node/date-invocation.html - Advanced Bash-Scripting Guide: Date Commands: https://www.tldp.org/LDP/abs/html/dates.html
- Stack Overflow - Questions about Bash date calculations: https://stackoverflow.com/questions/tagged/date+calculation+bash