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 >> Java Programming >> Content

    Hur man beräknar Datum Skillnad i Java

    Beräkning skillnaderna mellan två datum i Java 6.0 och tidigare kan vara bedrägligt svårt på grund av behovet att rymma skottår sekunder språng , dagsljus gånger sparande och andra justeringar regelbundet till kalendern i de flesta länder . Denna handledning ger två lösningar, en som inte bör användas för situationer där DST eller skottår kan orsaka allvarliga problem och en mer sofistikerad alternativ bygger 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. Saker du behöver
    Computer Review, Java
    JSR - 310 ( tillval )
    Visa fler instruktioner
    Använda Java 6.0 Verktyg
    1

    Skapa ett ny klass med namnet " DateDifferencer " och filnamnet " DateDifferencer.java . " Ge den följande skelettet :

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

    }

    Allt annat kommer att gå i denna klass skelett .
    2

    Beräkna antalet millisekunder i en dag och lagra den 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 i en dag är lika med 1000 millisekunder per sekund * 60 sekunder per minut * 60 minuter per timme * 24 timmar per dag * /

    public final static double MILLISECONDS_IN_DAY = 1000 * 60 * 60 * 24 ,
    3

    Skapa " 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 felfri . Felaktigheter kan uppstå på grund av skottår . ** @ Return antalet dagar skillnaden mellan de två datum utan korrigering för skottår eller sommartid förändringar . * /Public static dubbel findDifference ( Date d1 , Datum d2 ) {

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

    dubbla dagar = diff /MILLISECONDS_IN_DAY ,

    dagars returrätt ;

    }

    Detta fungerar genom att hitta skillnaden mellan de två datumen i fråga om millisekunder . Den delar sedan det med antalet millisekunder i en dag ( som du beräknas i steg 2 ) .
    Använda JSR - 310
    4

    Placera JSR - 310 Tid " jar " -filen i samma katalog som resten av ditt program .
    5

    Lägg några fler importen till din DateDifferencer klassen så att du kan få tillgång till JSR 310 bibliotek .

    import javax.time.Duration , import javax.time.period.Period ; .
    6

    Lägg till en ny metod för att din DateDifferencer klass

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

    Detta skapar ett " Duration " objekt , som håller skillnaden mellan de två datumen . Du kan stanna där och tillbaka Varaktighet : s " toString " kommandot . Samtidigt ger detta svaret i form av sekunder , vilket inte är läsbar . Så skapas ett " Period " objekt och använder sin " toString " kommandot .

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur man använder Struts Layout
    ·Hur man gör musen Listener Använda Swing i Java
    ·Hur Kopiera Strömmar Input Output i Java
    ·Java kan inte göra en statisk hänvisning till en icke…
    ·Hur Omvänd en matris med tal Med Java
    ·Java Input Ström från en Project
    ·Hur att skapa en metod med ett variabelt antal ingånga…
    ·JSP Filtyper
    ·Så ringer en konstruktor från en annan funktion i Jav…
    ·Konvertera WSDL till Java Använda Axis
    Utvalda artiklarna
    ·Definition av Java & Javascript
    ·Hur Input en blandning av siffror och bokstäver från …
    ·Vad är en ISO- Programmer
    ·Inaktivera Magiska Quotes i PHP
    ·Hur man kan få en parallellport i VisualBasic 6.0
    ·Vad är PYC filer
    ·Hur man skapar DropDownList Med Key Sök i C
    ·Hur du väljer Med DateDiff i MySQL
    ·Ta bort en C + + Corrupt Heap
    ·Hur man använder Memcmp funktion i C + +
    Copyright © Dator Kunskap http://www.dator.xyz