In Perl programmering Get , omdat data tekens zoals spaties , komma's of brieven kunnen hebben , kun je niet gewoon nemen twee data en aftrekken van elkaar . Je moet om ze te converteren naar zuivere getallen voordat je het verschil tussen de twee kan krijgen, dan terug die waarde voor de gebruiker . Zetten de twee data om tijdperk tijd, dat is een berekening van het aantal seconden dat is verstreken sinds 1 januari 1970 . Dit stelt u in staat om een valutadatum van de andere aftrekken om het verschil te krijgen. Instructies 1 Open een nieuw Perl-programma bestand . Typ de volgende code : . Gebruik Time :: Lokale ; Deze module bevat datum en tijd functies die u nodig hebt om de tijd waarden berekenen Type 2 de volgende code : afdruk " Voer de dag ( 1-31 ) : " ; $ dag = < > ; afdruk " Enter maand ( 1-12 ) : " ; $ maand = < > ; $ maand = $ maand - 1 ; afdruk " Enter jaar : " ; $ jaar = < > ; $ bouwjaar = $ jaar - 1900 ; Deze lijnen vraagt de gebruiker om een dag van de maand , maand en jaar , voer alle gehele getallen . U moet de maand waarde verlagen door een, omdat de functie " timelocal " gebruikt maand waarden van nul tot 11 , niet een om 12 . Ook moet u aftrekken 1900 uit het jaar waarde voor deze functie. U kunt een aantal foutcontrole code te programmeren om ervoor te zorgen de gebruiker een juiste waarde binnenkomt , of als u wilt toestaan dat een gebruiker een naam van de maand , zoals " januari " programma een functie om die waarde te converteren naar nul te gaan. < br > Type 3 de volgende code : $ tijd = timelocal ( 0,0,0 , $ dag , $ maand , $ jaar ) ; Dit creëert een variabele genaamd $ tijd dat de timelocal functie oproepen aan de gebruikers ingezonden datum om epoch tijd om te zetten . De eerste drie parameters zijn allemaal nullen omdat ze goed zijn voor seconden , minuten en uren . U kunt de gebruiker voor deze waarden en als je wilt vragen . De timelocal functie retourneert een fout als een datum niet bestaat , zoals March 35 of zelfs 31 juni , dus zorg ervoor dat je code controleert deze mogelijkheden Type 4 de volgende code : . $ curtime = tijd ; $ diff = $ curtime - $ tijd ; de eerste regel maakt een variabele genaamd $ curtime dat de tijd -functie gebruikt om de huidige datum in tijdperk terug tijd . De tweede regel maakt een variabele genaamd $ diff dat het verschil van de huidige datum min de gebruiker voorgelegd date krijgt . De integer resultaat is het aantal seconden die er bestaan tussen de twee data . Als het getal positief is , dan is de gebruiker datum komt vóór de huidige datum . Als het getal negatief is , het komt na Type 5 de volgende code : . If ( $ diff > 0 ) { $ diff = int ( $ diff /60/60/24) ; afdruk $ diff . " Dagen zijn verstreken sinds de datum die u hebt ingevoerd . " ; } Else { $ diff = abs ( int ( $ diff /60/60/24)) ; print " Er zijn " . $ diff . " Meer dagen tot de datum die u hebt ingevoerd . " ; } De als functie controleert of de gebruiker - date is ingediend vóór of na de huidige datum , alleen weten welke verklaring aan afdrukken op het scherm . In beide gevallen is de $ diff waarde zet van seconden in dagen , en vervolgens naar een geheel getal van een float ( om te voorkomen dat het afdrukken van meerdere cijfers achter de komma ) . Als de waarde negatief is , de buikspieren functie krijgt de absolute waarde , hoofdzakelijk veranderend het negatieve getal in een positief getal . Bijvoorbeeld , " -15 dagen " wordt " 15 dagen . " 6 Opslaan en voer het Perl-programma .
|