Prüfen ob ein Datum innerhalb letzten 2 Wochen liegt

L

L0rd

Mitglied
Hallo,

ich bräuchte eine Funktion die prüft ob ein Datum im Format tt.mm.JJJJ innerhalb der letzten 2 Wochen liegt. Oder anders ausgedruckt, ob ein Datum im Bereich zwischen 2 anderen Datums liegt.

wobei ein Datum aktuelles Datum ist
Code:
date +%d.%m.%Y

und anderes die vor 2 Wochen
Code:
date --date="2 weeks ago" +"%d.%m.%Y"

ich denke die Funktion hatte doch schon jemand mal gebraucht, finde aber leider nichts ähnliches.

Vielen Dank !

PS:. Es ist nicht für SQL o.ä., da geht es natürlich ziemlich einfach.
 
Sekundengenau:
Code:
#!/bin/bash

UnixDate1=$( date +%s )
UnixDate2=$( date --date="2 weeks ago" +%s )


TestDate="2012-09-18 15:00:00"


UnixTestDate=$( date -d "$TestDate" +%s )
if [ $UnixTestDate -le $UnixDate1 -a $UnixTestDate -gt $UnixDate2 ]
then
    echo "TestDate liegt zwischen UnixDate1 und UnixDate2"
fi
 
vielen Dank für schnelle antwort ! Sekundengenau muss es nicht sein :)

könnte ich mir die Tage auch ausgeben lassen als eine Liste ?

dann vergleiche ich mit grep und gebe die aus die zutreffen oder nicht.
 
Tagesgenau:
Code:
#!/bin/bash

Date1=$( date +%Y%m%d )
Date2=$( date --date="2 weeks ago" +%Y%m%d )


TestDate="2012-09-18"


TDate=$( date -d "$TestDate" +%Y%m%d )
if [ $TDate -le $Date1 -a $TDate -ge $Date2 ]
then
    echo "TestDate liegt zwischen Date1 und Date2"
fi


Die letzten 14 Tage zum greppen gehen auch:
Code:
#!/bin/bash
for d in {0..14};
do
    date -d -${d}days +%d.%m.%Y
done


Es gibt 1000 Möglichkeiten... :search:
 

Ähnliche Themen

Last mit etc/passwd anzeigen lassen

Server-Monitoring mit RRDTool

Zurück
Oben