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.

Se även