Mi chiedevo se esiste una funzione Perl incorporata che regola la data se ci si prende un mese da essa. Per esempio. se la data è il 31, si regolerà per essere la fine del mese precedente se non ha 31 giorni.Come tornare indietro di mesi in Perl tenendo conto di diversi giorni nel mese?
Vorrei solo cambiarlo facilmente al 30 ° se non fosse stato per i mesi con 31 giorni l'uno accanto all'altro (Dic/Jan, Jul/Aug) e febbraio. Voglio solo memorizzare la data una certa quantità di tempo lontano dalla data corrente, ad es.
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);
posso affrontare l'istanza di febbraio come si applica solo per anni, ma se questo è stata presa il 31 DICEMBRE 2012 poi togliendo un mese significherebbe 31 novembre 2012, che ovviamente non esisteva. Ho pensato di chiedere se c'era una funzione prima di complicare le cose per me ... grazie :)
[DateTime] (https://metacpan.org/module/DateTime) forse si cerca questo modulo? (ha data 'matematica) – gaussblurinc
Entrambe le risposte sono al di sotto del buono! Data Ora sembra un'opzione davvero utile, ma siccome voglio usarlo per una piccola parte del mio codice penso che potrei semplicemente tuffarmi e fare un sacco di clausole per questo. Lungo tempo, ma mi aiuterà a imparare ... questo è il mio primo giorno con Perl: P Grazie per il tuo aiuto! – dgBP