Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> Perl Programming >> Content
    Hvordan få Forskjell på to datoer i Perl
    I Perl programmering, fordi datoer kan ha tegn, for eksempel mellomrom, komma eller brev , kan du ikke bare ta to datoer og trekke en fra den andre. Du må konvertere dem til rene tall før du kan få forskjellen mellom de to, deretter tilbake som verdi for brukeren . Konvertere de to datoene til epoken tid , som er en beregning av antall sekunder som har gått siden den første januar 1970 . Dette gjør at du kan trekke fra én dato verdi fra den andre for å få forskjellen . Instruksjoner
    en

    Åpne en ny Perl programfilen. Skriv inn følgende kode : .

    Bruk Tid :: Local ;

    Denne modulen inneholder dato og klokkeslett funksjoner du trenger for å beregne tidsverdiene
    2

    Skriv inn følgende kode :

    print "Enter dag ( 1-31) :";

    $ dag = < > ;

    print "Enter måned ( 1-12) : ";

    $ måned = < > ;

    $ måned = $ måned - 1;

    print " Enter år : ";

    $ år = < > ;

    $ år = $ året - 1900 ;

    Disse linjene be brukeren om å skrive inn en dag i måneden , måned og år , alle som heltall. Du må minske måned med én fordi " timelocal " funksjonen bruker måneders verdier fra null til 11 , ikke en til 12 . Også , må du trekke fra 1900 fra året verdi for denne funksjonen også. Du kan programmere noen feil sjekke koden for å sikre brukeren angir en riktig verdi , eller hvis du vil tillate en bruker å skrive inn et navn på måned , for eksempel " januar "-programmet en funksjon for å konvertere denne verdien til null.


    3

    Skriv inn følgende kode :

    $ tid = timelocal ( 0,0,0 , $ dag, $ måned , $ året ) ;

    Dette skaper en variabel kalt $ tid som kaller timelocal funksjonen til å konvertere den brukervennlige sendedatoen til epoken tid . De tre første parametrene er alle nuller fordi de står for sekunder, minutter og timer . Du kan be brukeren om disse verdiene også hvis du vil. Den timelocal funksjonen returnerer en feil hvis en dato som ikke eksisterer , for eksempel Mars 35 eller 31. juni , så sørg for at din kode sjekker for disse mulighetene
    4

    Skriv inn følgende kode : .

    $ CurTime-verdien = tid ;

    $ diff = $ CurTime-verdien - $ tid,

    den første linjen skaper en variabel kalt $ CurTime-verdien som bruker tiden funksjonen til å returnere gjeldende dato i epoken tid . Den andre linjen skaper en variabel kalt $ diff som får forskjellen på dagens dato minus brukeren - sendedatoen . Den heltall Resultatet er antall sekunder som eksisterer mellom de to datoene . Hvis tallet er positivt , så brukeren datoen kommer før gjeldende dato . Hvis tallet er negativt , kommer det etter
    5

    Skriv inn følgende kode : .

    If ( $ diff > 0 ) {

    $ diff = int ( $ diff /60/60 /24) ;

    print $ diff . " Dager har gått siden den datoen du har angitt. ";

    } Else {

    $ diff = abs ( int ( $ diff /60/60 /24) ) ;
    < p > print " There are" . $ diff . " Flere dager inntil datoen du har angitt . ";

    }

    HVIS-funksjonen sjekker for å se om brukeren - sendedatoen er før eller etter dagens dato, bare for å vite hvilke uttalelse til skrive ut på skjermen. I begge tilfeller , konverterer $ diff verdi fra sekunder inn dager , og deretter til et helt tall fra en flottør (for å unngå ut flere desimaler) . Hvis verdien er negativ , blir ABS-funksjonen den absolutte verdi , i hovedsak å dreie det negative tallet inn i et positivt tall. For eksempel " -15 dager " blir " 15 days ".
    6

    Lagre og kjøre Perl program .

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan bruke DBI å koble til Perl 
    ·Hvordan bruke et uttrykk på Print erklæringen i Perl 
    ·Hvordan kan jeg få lengden av en Anonym Array i Perl 
    ·Hvordan Erklærer en Array i Perl funksjoner 
    ·Hvordan bruke CGI for å vise en XLS -fil i en nettlese…
    ·Hvordan finne den filstørrelse i Perl 
    ·Hvordan Ring Assembly Rutiner Fra Perl 
    ·Perl Debugger Alternativer 
    ·Hvordan bruke Strict i Perl 
    ·Hvordan feilsøke Perl programmer 
      Anbefalte artikler
    ·Hvordan du løser en Java Language Stack Overflow feil 
    ·Sekvensielle Effekter i jQuery 
    ·JSP Filtyper 
    ·Hvordan lage Ribbons i CSS3 
    ·Hvordan oppdage Peak i MATLAB 
    ·Hvordan ikke logge inn XP Med et passord 
    ·Enkle dynamiske menyer for et nettsted 
    ·Hvordan legge til avhengigheter til a Service 
    ·Hvordan bygge en Classifieds Web Site 
    ·Hva er en EOF i C Språk 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/