Qual è l'equivalente BSD del command di data linux per aggiungere i giorni / settimane / mesi da una determinata data?

Ho una data data, come il 2013-10-31 e devo determinare con precisione il giorno successivo (tenendo conto del DST, degli anni di salto, dei minuti di salto, dei campionati temporali, ecc.). Non ho modo di sapere se la data è alla fine di un mese / anno / etc, e spero sinceramente di non wherermi preoccuparti.

In Linux, ho semplicemente digitato:

date1="2013-10-31" day_after=`date -ud"$date1 1 days" +%Y-%m-%d` echo "$day_after" => 2013-11-01 

Tuttavia, quando provo lo stesso in Darwin / BSD:

 date1="2013-10-31" day_after=`date -v1d -ujf"%Y-%m-%d" $date1 +%Y-%m-%d` echo "$day_after" => 2013-10-01 

Come posso get BSD per fare calcoli appropriati?

Devi specificare + nella tua data di aggiustamento o BSD presuppone che le stai dando un giorno effettivo del mese da utilizzare.

 date1="2013-10-31" day_after=`date -v+1d -ujf"%Y-%m-%d" $date1 +%Y-%m-%d` echo "$day_after" => 2013-11-01