¿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:

  • ¿Cómo puedo hacer que mi shell siempre comience en un directory determinado que no es mi directory de inicio?
  • Bash Script que llama a osascript deja de funcionar cuando se ejecuta por launchd
  • Ejecutando una gota de AS desde la Terminal
  • get los primeros caracteres del parámetro de expansión del command search
  • command no encontrado para script de shell
  • ¿Por qué debo originar .bashrc cada vez que abro la terminal para que los alias funcionen?
  • 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?

  • Cómo diferenciar entre el inicio con guion de Terminal y el inicio manual para la configuration de .bash_profile
  • ¿Cómo puedo hacer fallar si -exec falla?
  • Ejecuta una aplicación Cocoa en Lion como otro usuario
  • Alternativa a APLAY para Mac OS X bash
  • Cambiar el nombre de la carpeta iCloud en la Terminal, pero no cambiar el nombre del file real
  • -bash: alias: / ruta / a / carpeta: no encontrada
  • 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).