¿Cuál es el equivalente BSD del command de date de Linux para agregar restar días / semanas / meses a partir de una date determinada?

Tengo una date determinada, como 2013-10-31 y necesito determinar con precisión el día siguiente (teniendo en count el horario de verano, los años bisiestos, los minutos bisiestos, las zonas horarias, etc.). No tengo forma de saber si la date es al final de un mes / año / etc., y sinceramente espero no tener que preocuparme por eso.

En Linux, simplemente escribo:

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

Sin embargo, cuando bash lo mismo en Darwin / BSD:

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

¿Cómo puedo hacer que BSD haga los cálculos de dates correctos?

  • ¿Cuál es el equivalente del command de tree de Unix en OSX?
  • ¿Cómo puedo actualizar mi versión de `unzip` a la versión 6.00 o superior?
  • que es `tput rmam`
  • ¿Por qué mis utilidades de command-line se ejecutan tan lentamente en mi Mac?
  • Deshabilitar el trackpad desde la línea de command
  • Tubería de commands múltiples
  • En cuanto a groff, ¿dónde está el file de configuration y funcionará?
  • Obtenga numbers de serie de dispositivos USB conectados
  • One Solution collect form web for “¿Cuál es el equivalente BSD del command de date de Linux para agregar restar días / semanas / meses a partir de una date determinada?”

    Debe especificar + en su ajuste de date o BSD supone que le está dando un día real del mes para usar.

     date1="2013-10-31" day_after=`date -v+1d -ujf"%Y-%m-%d" $date1 +%Y-%m-%d` echo "$day_after" => 2013-11-01 
    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).