Me preguntaba si existe una función Perl incorporada que ajuste la fecha si le toma un mes. P.ej. si la fecha es el día 31, se ajustará para ser el final del mes anterior si no tiene 31 días.¿Cómo remontar meses en Perl teniendo en cuenta los diferentes días del mes?
Lo cambiaría simplemente a 30º fácilmente si no fuera por los meses con 31 días juntos (diciembre/enero, julio/agosto) y febrero. Solo quiero guardar la fecha una cierta cantidad de tiempo fuera de la fecha actual, p.
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$current_date = join("-", (1900+$year), ($mon+1), $mday);
$one_month_ago = join("-", (1900+$year), ($mon), $mday);
$one_year_ago = join("-", (1899+$year), ($mon+1), $mday);
puedo lidiar con la instancia de febrero, ya que sólo se aplica a año, pero si esto fue tomada el 31 de Diciembre 2012 y luego quitándole un mes significaría 31a Nov 2012, que por supuesto no existía. Pensé que iba a preguntar si había una función antes de complicar las cosas por mí mismo ... gracias :)
[DateTime] (https://metacpan.org/module/DateTime) ¿Quizás busques este módulo? (tiene fecha 'matemática) – gaussblurinc
¡Ambas respuestas a continuación son buenas! Date Time parece ser una opción realmente útil, pero como quiero usarlo para una pequeña parte de mi código, creo que podría lanzarme y hacer un montón de cláusulas para ello. Largo aliento, pero me ayudará a aprender ... este es mi primer día usando Perl: P ¡Gracias por su ayuda! – dgBP