Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> perl Programmering >> Content

    Hur får man skillnaden mellan två datum i Perl

    I Perl programmering , eftersom datum kan ha tecken som mellanslag, kommatecken eller brev , kan du inte bara ta två datum och subtrahera från varandra . Du måste konvertera dem till rena siffror innan du kan få skillnaden mellan de två, sedan tillbaka detta värde till användaren . Konvertera de två datum till epok tid , vilket är en beräkning av det antal sekunder som gått sedan 1 januari 1970 . Detta gör att du kan dra ett datum värde från den andra för att få skillnaden . Instruktioner
    1

    Öppna ett nytt Perl programfil . Skriv följande kod : .

    Använder Time :: Lokalt ,

    Denna modul innehåller datum och tid funktioner du behöver för att beräkna tidsvärden
    2

    Type följande code :

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

    $ dag = < > ;

    print " Ange månad ( 1-12 ) : " ;

    $ månad = < > ;

    $ månad = $ månad - 1 ,

    print " Ange år : " ;

    $ år = < > ;

    $ år = $ år - 1900;

    Dessa rader uppmana användaren att ange en dag i månaden , månad och år , allt som heltal . Du måste stega månaden värdet av en eftersom " timelocal " funktion använder månaders värden från noll till 11 , inte en till 12 . Dessutom måste du subtrahera 1900 från år värdet för denna funktion också . Du kan programmera någon felkontroll kod för att säkerställa att användaren anger ett korrekt värde , eller om du vill att användaren ska kunna ange ett månadens namn , t.ex. " Januari , " program en funktion för att konvertera det värdet till noll .

    Billiga 3

    Skriv följande kod :

    $ tid = timelocal ( 0,0,0 , $ dag , $ månad , $ år ) ,

    Detta skapar en variabel som heter $ tid som anropar timelocal funktionen att konvertera användaren in datum epok tid . De tre första parametrarna är alla nollor eftersom de står för sekunder, minuter och timmar . Du kan fråga användaren om dessa värden samt om du vill . Den timelocal Funktionen returnerar ett fel om ett datum inte existerar , såsom Mars 35 eller till och med 31 juni , så se till att din kod kontrollerar om dessa möjligheter
    4

    Skriv följande kod : .

    $ curtime = tid ;

    $ diff = $ curtime - $ tid ,

    första raden skapar en variabel som heter $ curtime som använder tiden för att returnera det aktuella datumet i epok tid . Den andra raden skapar en variabel som heter $ diff som blir skillnaden för aktuellt datum minus användaren - in datum . Den heltal Resultatet är det antal sekunder som finns mellan de två datumen . Om talet är positivt , då användaren dagen kommer före dagens datum . Om talet är negativt , kommer det efter
    5

    Skriv följande kod : .

    If ( $ diff > 0 ) {

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

    print $ diff . " Dagar har gått sedan det datum du angav . " ;

    } Else {

    $ diff = abs ( int ( $ diff /60/60/24)) ,

    skriva " Det finns " . $ diff . "Fler dagar till det datum du angav ."

    }

    Om funktionskontroller för att se om användaren - in dag inträffar före eller efter det aktuella datumet , bara veta vilket uttalande skriva ut på skärmen . I båda fallen , omvandlar $ diff värde från sekunder till dagar , och därefter till ett heltal från en flottör ( för att undvika att skriva ut flera decimaler ) . Om värdet är negativt , blir abs funktion det absoluta värdet i huvudsak vrida negativt tal till ett positivt tal. Till exempel " -15 dagar " blir " 15 dagar ".
    6

    Spara och köra Perl -programmet .

    Tidigare:

    nästa:
    relaterade artiklar
    ·Ta bort dubbletter av rader i en variabel i Perl
    ·Ominstallation CPAN
    ·Konfigurera Perl i XAMPP
    ·Hur man tar bort ett tomt utrymme i Perl
    ·Hur man tar bort radbrytningar i Perl
    ·Hur man gör en uppsättning av en viss storlek i Perl
    ·Hur man skapar en while i Perl
    ·PERL Vs . SED
    ·Vad Är Perl Syntax för URL Kodning
    ·Så här konfigurerar Formulärverifiering
    Utvalda artiklarna
    ·Hur till Ändra Sidhuvud
    ·Hur man kan begränsa en textruta till endast siffror i…
    ·Konvertera källkod från csharp till vb.Net och tillba…
    ·Hur man skapar ett Adobe AIR-program
    ·Begränsningar av Fuzzy Logic
    ·Java Substring funktion
    ·Hur man använder en Spinner för en Palm Pilot
    ·Lägga till Posten på Facebook knapp på din webbplats…
    ·Hur man skapar en anställd Logga in Visual Basic
    ·Hur göra diagram i Visual Basic
    Copyright © Dator Kunskap http://www.dator.xyz