On Mit, 31 Jul 2002 at 10:31 (+0200), Christoph Maurer wrote: [...]
30. Juni, aber 30. Juli -1month darf auch nur 30.Juni ergeben,
ich seh schon, das ist nicht trivial und läßt sich über das fixe Abziehen von Tagen nur sehr unbefriedigend lösen...
Wir hatten das IIRC vor langer Zeit schon mal auf der Liste. date rechnet IMHO immer mit 30 Tagen. Wenn man immer den korrekten Monat braucht, sollte man mit einem Tag in der Mitte rechnen: for mon in `seq 1 12`; do date +%Y%m -d "`date +\"%b 15\"` -$mon month" done
Dumm finde ich allerdings, daß die Zuordnung nicht eineindeutig ist, denn ma@gbp301:~ > date "+%Y%m%d" "-d 20020731 -d -1 month" 20020701 ma@gbp301:~ > date "+%Y%m%d" "-d 20020701 -d +1 month" 20020801
Da ist IMHO Deine Syntax falsch. Wie meine Versuche ergeben haben, akzeptiert date nur eine -d Option, und eine Option in "" wird wohl gar nicht als solche erkannt. Jan