Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Java Datum & Tijd Beheersen: SimpleDateFormat, Huidige Datum Ophalen en Datum Vergelijking

Deze tutorial behandelt de essentiële aspecten van werken met datums en tijden in Java, inclusief:

  • Huidige datum en tijd weergeven
  • Datums formatteren en parsen met SimpleDateFormat
  • Twee datums vergelijken

Een Java Date object vertegenwoordigt de volgende componenten:

Java Datum & Tijd Beheersen: SimpleDateFormat, Huidige Datum Ophalen en Datum Vergelijking

  • Het jaar (2 of 4 cijfers)
  • De maand (numeriek, drie-letter afkorting of volledige naam)
  • De dag van de maand
  • De dag van de week (bijv. Zo, Ma, Di)

Computers ondersteunen veel extra datum-gerelateerde parameters, die we in latere secties bespreken.

Huidige Datum Weergeven in Java

Java's java.util.Date klasse biedt een eenvoudige manier om de huidige systeemdatum en -tijd op te halen. Hieronder is een minimaal voorbeeld:

import java.util.Date;
class DateExample {
    public static void main(String[] args) {
        Date huidig = new Date();
        System.out.println(huidig.toString());
    }
}

Output:

Wed Nov 29 06:36:22 UTC 2017

De output gebruikt het standaard toString() formaat. Om de datum in een aangepaste layout te presenteren, moet je hem expliciet formatteren.

SimpleDateFormat: Datums Parsen en Formatteren

Java formatteert datums met patroonstrings die letters mappen op specifieke datumcomponenten. Hieronder is een referentietabel:

LetterDatum of Tijd ComponentVoorbeeld
GEra aanduidingAD
yJaar2018
MMaand in jaarJuly, Jul, 07
wWeek in jaar27
WWeek in maand2
DDag in jaar189
dDag in maand10
FDag van week in maand2
EDagnaam in weekTuesday, Tue
uDagnummer van week (1=Ma … 7=Zo)1
aAM/PM markerPM
HUur in dag (0-23)0
kUur in dag (1-24)24
KUur in am/pm (0-11)0
hUur in am/pm (1-12)12
mMinuut in uur30
sSeconde in minuut55
SMilliseconde978
zTijdzonePacific Standard Time; PST; GMT-08:00
ZTijdzone offset-0800
XTijdzone-08, -0800, -08:00

Raadpleeg deze tabel wanneer je een specifieke formaatstring moet construeren.

SimpleDateFormat Gebruiken

De SimpleDateFormat klasse laat je een patroon definiëren om datums te formatteren of parsen. Bijvoorbeeld:

  • Gewenst formaat: 2012.10.23 20:20:45 PST → patroon yyyy.MM.dd HH:mm:ss zzz
  • Gewenst formaat: 09:30:00 AM 23-May-2012 → patroon hh:mm:ss a dd-MMM-yyyy

Tip: Let goed op hoofdletters – M voor maanden en m voor minuten is essentieel.

import java.text.SimpleDateFormat;
import java.util.Date;
class TestDatesFormat {
    public static void main(String[] args) {
        Date nu = new Date();
        System.out.println(nu);
        String patroon = "hh:mm:ss a dd-MMM-yyyy";
        SimpleDateFormat sdf = new SimpleDateFormat(patroon);
        System.out.println(sdf.format(nu));
    }
}

Output:

Wed Nov 29 06:31:41 UTC 2017
06:31:41 AM 29-Nov-2017

Datums Vergelijken

Java Datum & Tijd Beheersen: SimpleDateFormat, Huidige Datum Ophalen en Datum Vergelijking

De meest betrouwbare methode voor datumvergelijking in Java is compareTo(), wat een negatieve waarde retourneert als de eerste datum eerder is, nul als gelijk, en een positieve waarde als later.

import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Date;
class TestDatesCompare {
    public static void main(String[] args) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
        Date datum1 = sdf.parse("20-08-1981");
        Date datum2 = sdf.parse("12-10-2012");
        System.out.println("Datum1 : " + sdf.format(datum1));
        System.out.println("Datum2 : " + sdf.format(datum2));
        if (datum1.compareTo(datum2) > 0) {
            System.out.println("Datum 1 valt na Datum 2");
        } else if (datum1.compareTo(datum2) < 0) {
            System.out.println("Datum 1 valt voor Datum 2");
        } else {
            System.out.println("Beide datums zijn hetzelfde");
        }
    }
}

Output:

Datum1 : 20-08-1981
Datum2 : 12-10-2012
Datum 1 valt voor Datum 2

Java

  1. Spanning en stroom berekenen in reactieve DC circuits
  2. Uitgebreide Gids voor Datum en Tijd in C++
  3. Huidige datum en tijd ophalen in Python: een praktische gids
  4. Python: Huidige tijd en tijdzonedata eenvoudig ophalen
  5. Datums & Tijden in Python Beheersen: Een Praktische Gids
  6. Java-operators beheersen: typen, syntax en praktische voorbeelden
  7. Java-commentaar: typen, gebruik en best practices
  8. Java Enhanced For-lus beheersen: syntax, voorbeelden en best practices
  9. Java Datum en Tijd Onder de Knie: Constructors, Methods & Best Practices
  10. Java 10 introduceert Time-Based Release Versioning voor voorspelbare halfjaarlijkse updates
  11. Java 8: De Robuuste Nieuwe Date/Time API