Tengo una fecha determinada, como 2013-10-31 y debo determinar con precisión el día siguiente (teniendo en cuenta el horario de verano, años bisiestos, minutos de salto, zonas horarias, etc.) No tengo forma de saber si la fecha 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 intento 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 realice los cálculos de fecha adecuados?