Dator > hur man kan beräkna datum skillnaden i java

  • hur man kan beräkna datum skillnaden i java


  • Beräkna skillnaden mellan två datum i Java 6. 0 och tidigare kan vara bedrägligt svårt på grund av behovet att anpassa skottår sekunder språng , dagsljus gånger sparande och andra justeringar regelbundet göras i kalendern i de flesta länder . Denna handledning ger två lösningar , en som inte ska användas för situationer där DST eller skottår kan orsaka allvarliga problem och en mer sofistikerad alternativ baserat på JSR-310 bibliotek . Detta bibliotek är planerad att vara en del av Java 7,0 API när det släpps i slutet av 2010 . Det kan dock laddas ner för användning nu

    Du behöver : .
    Computer
    Java .
    JSR -310 ( tillval ) .

    Använda Java 6,0 Verktyg


    1 .
    Skapa en ny klass med namnet " DateDifferencer " och filnamnet " DateDifferencer. java . " Ge det följande skelettet :

    /**
    * Denna klass ger två metoder för att hitta skillnader mellan datum :
    *-En alternativ metod som inte står för språng år och andra underligheter datum
    * men som är kompatibel med den senaste versionen av Java , som i början av 2010 .
    *-En mer sofistikerad version som använder den externa JSR-310 bibliotek ,
    * som kommer att ingå i Java 7 , som kommer att släppas i slutet av 2010
    *
    * . @ författaren Kevin Walker
    * /
    public class DateDifferencer {

    }

    Allt annat kommer att gå i denna klass skelett .
    2 .
    Beräkna antalet millisekunder på en dag och förvara det i en konstant för senare användning. Detta är nödvändigt eftersom Java 6. 0 och tidigare versioner förstå tid inbyggt i millisekunder eller nanosekunder .

    /**
    * Antalet millisekunder på en dag är lika med 1000 millisekunder per sekund
    * 60 sekunder per minut
    * 60 minuter per timme
    * 24 timmar per dygn
    * /

    offentliga slutlig statisk dubbel MILLISECONDS_IN_DAY=1000 * 60 * 60 * 24 ,
    3
    Skapa . den " findDifference "metoden . Se till att Javadoc kommentaren noterar svaghet i metoden för någon annan som väljer att använda den .

    /**
    * Denna klass använder en enkel metod för att beräkna skillnaden mellan två datum .
    * Det är dock inte felfria . Felaktigheter kan inträffa på grund av skottår .
    *
    * @ return det antal dagar som skillnaden mellan två datum utan korrigering för skottår eller sommartid ändras .
    * /
    public static dubbel findDifference ( Datum d1 , datum d2 ) {

    dubbel diff=Math. abs ( d2. getTime ()-d1. getTime ());

    dubbel dagar=diff /MILLISECONDS_IN_DAY ;

    återvända dagar ,

    }

    Detta fungerar genom att hitta skillnaden mellan två datum i termer av millisekunder . Den delar sedan att med antalet millisekunder på en dag (som du beräknas i steg 2).

    Använda JSR-310


    1 .
    Placera JSR-310 Time " jar " -fil i samma katalog som resten av ert program .
    2 .
    Tillsätt några större import till din DateDifferencer klass så att du kan få tillgång till JSR 310 biblioteket .

    import javax. time. Duration ;
    import javax. time. period. Period .
    3
    Lägg till en ny metod för att din DateDifferencer klass .

    /**
    * @ returnera en sträng som beskriver skillnaden mellan de två datumen .
    * /
    public static String findDifferenceWithJSR ( Datum start , Datum slut ) {
    Varaktighet varaktighet=Duration. durationBetween ( start , slut ) ;
    Period diff=Period. nanos ( varaktighet . toNanos ());
    return new diff. toString () ; }


    Detta skapar en " varaktighet " objekt , som innehar skillnaden mellan de två datumen. Du kan stanna där och återlämna Varaktighet : s " toString "kommandot . Men av detta svaret i termer av sekunder , vilket inte är läsbar . Så skapas sedan ett " Period " objekt och använder sin " toString "kommandot .


Previous:nothing Next:tutorial för inställning combobox.length i JavaScript





Relaterade artiklar


  • Vad är JavaScript ogiltigt ?
  • hur man ändrar den aktiva arbetsboken i VBA
  • hur man ändrar färg kommandot i ett Visual Basic 6.0
  • hur man skapar en html & jsp hemsidan
  • hur man byter en CPU multiplikatorn med en AMD-processor
  • vad är Adobe PostScript ?
  • hur man startar en ny instans av Visual Basic
  • java quicktime tutorial
  • hur man får trådlösa datakort hårdvara
  • Hur konvertera Fortran till Visual Basic