Aprire un nuovo file di programma Perl . Digitare il seguente codice : .
Uso Time :: Local ;
Questo modulo contiene data e ora funzioni necessarie per calcolare i valori di tempo
2
Digitare il seguente codice :
print " Inserire giorno ( 1-31) : " ;
$ giorno = < > ;
stampa " Enter mese ( 1-12 ) : " ;
$ mese = < > ;
$ mese = $ al mese - 1 ;
print" Inserisci l'anno : " ;
$ anno = < > ;
$ anno = $ anno - 1900 ;
Queste linee richiedono all'utente di immettere un giorno del mese , mese e anno , il tutto come interi . È necessario diminuire il valore di un mese perché la funzione " timelocal " utilizza valori mese da zero a 11 , non uno a 12. Inoltre , è necessario sottrarre 1900 dal valore anno per questa funzione pure. È possibile programmare un codice di controllo degli errori per garantire l' utente immette un valore corretto , o se si desidera consentire a un utente di immettere un nome del mese , ad esempio " gennaio", programma di una funzione per convertire tale valore a zero .
3
Digitare il seguente codice:
$ tempo = timelocal ( 0,0,0 , $ giorno , $ mese , $ anno) ;
Questo crea un variabile denominata $ tempo che chiama la funzione timelocal per convertire la data dall'utente presentato al momento epoca. I primi tre parametri sono tutti zero , perché essi rappresentano secondi, minuti e ore . È possibile richiedere all'utente di questi valori , come pure , se vuoi. La funzione timelocal restituisce un errore se una data non esiste, ad esempio marzo 35 o addirittura 31 giugno , quindi assicuratevi che il codice consente di verificare queste possibilità
4
digitare il seguente codice : .
$ curtime = tempo ;
$ diff = $ curtime - $ tempo ;
la prima riga crea una variabile denominata $ curtime che utilizza la funzione di tempo per restituire la data corrente in epoca tempo . La seconda riga crea una variabile denominata $ diff che ottiene la differenza della data corrente meno la data di inviati dagli utenti . Il risultato intero è il numero di secondi che intercorrono tra le due date . Se il numero è positivo , allora la data all'utente viene prima della data corrente . Se il numero è negativo , esso viene dopo
5
digitare il seguente codice : .
If ( $ diff > 0 ) {
$ diff = int ( $ diff /60/60 /24) ; print
$ diff . " Sono passati giorni dalla data immessa. " ;
} Else {
$ diff = abs ( int ( $ diff /60/60 /24) ) ;
Stampa "Ci sono " . $ diff . " Più giorni fino alla data immessa . ";
}
Se controlli funzione per vedere se la data dall'utente presentato è prima o dopo la data corrente , solo per sapere quale dichiarazione di stampare la schermata . In entrambi i casi , il valore di $ diff converte da secondi in giorni , e poi in un numero intero da un galleggiante (per evitare la stampa di più decimale) . Se il valore è negativo , la funzione abs ottiene il valore assoluto , trasformando sostanzialmente il numero negativo in un numero positivo . Ad esempio, " -15 giorni " diventa " 15 giorni ".
6
Salvare ed eseguire il programma Perl .
Programmazione © www.354353.com