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 >> Java Programming >> Content
    Hvordan beregne Dato Forskjell i Java
    Beregne forskjellen mellom to datoer i Java 6.0 og tidligere kan være utrolig vanskelig på grunn av behovet for å imøtekomme skuddår , spranget sekunder , sommertid ganger og andre justeringer regelmessig laget til kalenderen i de fleste land . Denne opplæringen gir to løsninger , en som ikke bør brukes i situasjoner der DST eller spranget år kan føre til alvorlige problemer og en mer sofistikert alternativ basert på JSR - 310 bibliotek . Dette biblioteket er planlagt å være en del av Java 7.0 API når den lanseres i slutten av 2010 . Imidlertid kan den lastes ned for bruk nå . Du trenger
    Computer
    Java
    JSR - 310 (tilleggsutstyr )
    Vis flere instruksjoner
    Bruke Java 6,0 Verktøy
    en

    Opprett en ny klasse med navnet " DateDifferencer " og filnavn " DateDifferencer.java . " Gi det følgende skjelett : en

    /*** Denne klassen vil gi to metoder for å finne forskjeller mellom datoer : * - En innfødt metode som ikke tar hensyn til skuddår og andre dato rariteter * men som er kompatibel med den nyeste versjonen av Java , som i tidlig 2010 * - . . En mer avansert versjon som bruker den eksterne JSR - 310 bibliotek , * som vil bli inkludert i Java 7 , ventet å bli lansert i slutten av 2010 ** @ author Kevin Walker * /public class DateDifferencer {

    }

    Alt annet vil gå i denne klassen skjelettet .
    2

    Beregn antall millisekunder på en dag og lagre den i en konstant for senere bruk. Dette er nødvendig fordi Java 6.0 og tidligere versjoner forstå tid direkte i millisekunder eller nanosekunder .

    /*** Antall millisekunder på en dag er lik 1000 millisekunder per sekund * 60 sekunder per minutt * 60 minutter per time * 24 timer per dag * /

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

    Lag " findDifference " metoden. Kontroller at Javadoc kommentar bemerker svakhet i metoden for alle andre som velger å bruke det.

    /*** Denne klassen bruker en enkel metode for å beregne forskjellen mellom to datoer . * Det er imidlertid ikke feilfri . Unøyaktigheter kan føre på grunn av skuddår . ** @ Return antall dager forskjellen mellom de to datoene uten korrigering for skuddår eller sommertidinnstillinger endringer . * /Public static double findDifference ( Dato d1 , Dato d2 ) {
    < p> double diff = Math.abs ( d2.getTime ( ) - d1.getTime ( ));

    doble dager = diff /MILLISECONDS_IN_DAY ;

    retur dager ;


    } p Dette virker ved å finne forskjellen mellom de to datoer i form av millisekunder. Den deler da at med antall millisekunder på en dag (som du beregnet i trinn 2 ) .
    Bruke JSR - 310
    4

    Plasser JSR - 310 Tid " jar "-filen i samme mappe som resten av programmet.
    5

    Legg til noen flere importen til din DateDifferencer klassen slik at du kan ha tilgang til JSR 310 bibliotek .
    < p > import javax.time.Duration , import javax.time.period.Period ; .
    6

    Legg til en ny metode til din DateDifferencer klasse

    /*** @ return en streng beskriver forskjellen mellom de to datoene * /public static String findDifferenceWithJSR (Dato start , Dato slutten) { Varighet varighet = Duration.durationBetween ( start , slutt) ; . Periode diff = Period.nanos ( duration.toNanos ( ) ); return new diff.toString (); }

    Dette skaper en "Varighet" objekt , som holder forskjellen mellom de to datoene . Du kan stoppe der og returnere Varighet er " toString "-kommandoen . Imidlertid gir dette svaret i form av sekunder , noe som ikke er lesbar . Så , det skaper da en " periode" objekt og bruker sin " toString "-kommandoen .

    früher :

     Weiter:
      Relatert Artike
    ·Slik installerer du et Java Application Vendor 
    ·Hvordan få opp en skanner i Java 
    ·Java & API forklart til foreldre 
    ·Hva er en Header i Java 
    ·Hvordan Iterate Gjennom Kart i Java 
    ·Hvordan lage en labyrint i Java 
    ·Om Sun Java -sertifisering 
    ·Hvordan legge til heltall i Java 
    ·Hvordan bruke objekter for å kjøre Metoder Belonging …
    ·Nivåer av Java sertifisering 
      Anbefalte artikler
    ·Hvordan redigere metadata for et bilde 
    ·Hvordan oppdatere flere kolonner fra en annen tabell 
    ·Hvordan få Index Fra en kolonne navn i en Java JTable 
    ·Hvordan bruke todimensjonale karakter Arrays i C 
    ·Hvordan å matche et String i en Array Bruke Java 
    ·Slik installerer Ajax i Microsoft Visual Studio 2005 
    ·Hvordan sjekke for en prosess i Visual Basic 
    ·Årsaker til en Java Script Void Feil 
    ·Hvordan bruke WPF TextBlock 
    ·Hvordan kjøre en ekstern Java Script Når en HTML-side…
    Copyright ©  Datamaskin  http://www.datamaskin.biz/