Fish Shell:
Jämföra två datum
Hur man gör:
I Fish Shell kan du använda date
för att jämföra datum. Ta en titt:
set date1 (date -d '2023-04-01' +%s)
set date2 (date -d '2023-04-15' +%s)
if test $date1 -lt $date2
echo "Date1 är tidigare än Date2"
else if test $date1 -eq $date2
echo "Date1 är samma som Date2"
else
echo "Date1 är senare än Date2"
end
Exempel på utskrift:
Date1 är tidigare än Date2
Djupdykning
Jämföra datum är som att jämföra siffror när datum omvandlas till Unix-tidsstämplar (sekunder sedan 1970-01-01). Historiskt sett var det mer komplicerat utan standardiserade funktioner. I Fish använder vi date
med flaggan +%s
för att få sekunder.
Alternativ inkluderar att använda externa verktyg som datetime
-moduler i Python, eller SQL-funktioner i databaser. Fish är bra för enkla skript men kanske inte för komplexa tidsberäkningar.
Implementationsdetaljer att notera:
- Tidszoner hanteras inte här, vilket kan påverka jämförelsen.
- Prestanda är inte problematisk för små skript, men kan bli det för stora mängder datum.