Introduserer datotypen - 1

"Hei, Amigo. Jeg vil fortelle deg om en interessant type kalt Date. Denne typen lagrer dato og klokkeslett, og kan også måle tidsintervaller."

"Høres interessant ut. Vennligst fortsett."

"Hvert Date-objekt lagrer en tid i en ganske interessant form: antall millisekunder siden 1. januar 1970, GMT."

"Wow!"

"Ja. Dette tallet er så stort at det ikke er nok plass til det i en int , så det må lagres i en lang . Men det er veldig nyttig for å beregne forskjellen mellom to datoer. Du bare subtraksjoner for å finne forskjellen med nøyaktighet til millisekund. Det løser også problemet med datolinjen og sommertid."

"Den mest interessante delen er at hvert objekt initialiseres med gjeldende klokkeslett ved opprettelsen. For å vite gjeldende klokkeslett trenger du bare å lage et Dato-objekt."

"Hvordan jobber du med det?"

"Her er noen eksempler:"

Få gjeldende dato:
public static void main(String[] args) throws Exception
{
     Date today = new Date();
     System.out.println("Current date: " + today);
}
Regn ut forskjellen mellom de to datoene
public static void main(String[] args) throws Exception
{
    Date currentTime = new Date();           // Get the current date and time
    Thread.sleep(3000);                      // Wait 3 seconds (3000 milliseconds)
    Date newTime = new Date();               // Get the new current time

    long msDelay = newTime.getTime() - currentTime.getTime(); // Calculate the difference
    System.out.println("Time difference is: " + msDelay + " in ms");
}
Sjekk om det har gått en viss tid:
public static void main(String[] args) throws Exception
{
    Date startTime = new Date();

    long endTime = startTime.getTime() + 5000;  //    +5 seconds
    Date endDate = new Date(endTime);

    Thread.sleep(3000);              // Wait 3 seconds

    Date currentTime = new Date();
    if(currentTime.after(endDate))// Check whether currentTime is after endDate
    {
        System.out.println("End time!");
    }
}
Bestem hvor mye tid som har gått siden begynnelsen av dagen:
public static void main(String[] args) throws Exception
{
    Date currentTime = new Date();
    int hours = currentTime.getHours();
    int mins = currentTime.getMinutes();
    int secs = currentTime.getSeconds();

    System.out.println("Time since midnight " + hours + ":" + mins + ":" + secs);
}
Bestem hvor mange dager som har gått siden begynnelsen av året:
public static void main(String[] args) throws Exception
{
    Date yearStartTime = new Date();
    yearStartTime.setHours(0);
    yearStartTime.setMinutes(0);
    yearStartTime.setSeconds(0);

    yearStartTime.setDate(1);      // First day of the month
    yearStartTime.setMonth(0);     // January (the months are indexed from 0 to 11)

    Date currentTime = new Date();
    long msTimeDifference = currentTime.getTime() - yearStartTime.getTime();
    long msDay = 24 * 60 * 60 * 1000;  // The number of milliseconds in 24 hours

    int dayCount = (int) (msTimeDifference/msDay); // The number of full days
    System.out.println("Days since the start of the year: " + dayCount);
}

" getTime()Metoden returnerer antall millisekunder som er lagret i et Date-objekt."

" after()Metoden sjekker om datoen vi kalte metoden på kommer etter datoen som ble sendt til metoden."

" getHours(), getMinutes(), getSeconds()Metodene returnerer henholdsvis antall timer, minutter og sekunder for objektet de ble kalt på."

"I tillegg kan du i det siste eksemplet se at du kan endre dato/klokkeslett som er lagret i et Date- objekt. Vi får gjeldende klokkeslett og dato og tilbakestiller deretter timene, minuttene og sekunder til 0. Vi setter også januar som måned og 1 som dag i måneden. Dermed yearStartTimelagrer objektet datoen 1. januar i inneværende år og klokkeslettet 00:00:00."

"Etter det får vi igjen gjeldende dato ( currentTime), regner ut forskjellen mellom de to datoene i millisekunder og lagrer den i msTimeDifference."

"Deretter deler vi msTimeDifferencepå antall millisekunder i løpet av 24 timer for å få antall hele dager fra begynnelsen av inneværende år til i dag."

"Wow! Dette er så kult!"