Java datum & Čas: SimpleDateFormat, trenutni datum & Primerjaj

Kazalo:

Anonim

V tej vadnici boste izvedeli -

  • Prikaži trenutni datum v Javi
  • SimpleDateFormat: Razčlenitev in oblikovanje datumov
  • Primerjaj datume Primer

Najprej razumemo parametre, ki so sestavljeni iz datuma .

Vseboval bo predvsem -

  • Leto (v obeh 2 ali 4 številke)
  • Mesec (bodisi v 2 številki, prva 3 črke meseca ali celo besedo v mesecu).
  • Datum (bo dejanski datum v mesecu).
  • Dan (dan na določen dan - tako kot Sonce, pon, tor, itd)

Kar zadeva računalniške sisteme, obstaja veliko parametrov, ki jih lahko uporabimo za povezavo z datumom. Videli jih bomo v poznejših delih te teme.

Prikaži datum v Javi

Zdaj pa poglejmo, kako nam Java zagotavlja datum. Najprej bomo videli, kako dobiti trenutni datum-

Java ponuja paket Date v paketu java.util, paket ponuja več načinov za poigravanje z datumom.

Objekt Date lahko uporabite tako, da prikličete konstruktor razreda Date na naslednji način:

import java.util.Date;class Date_Ex1 {public static void main(String args[]) {// Instantiate a Date object by invoking its constructorDate objDate = new Date();// Display the Date & Time using toString()System.out.println(objDate.toString());}}

Izhod:

Wed Nov 29 06:36:22 UTC 2017

V zgornjem primeru datuma, prikazanega v privzeti obliki, če želimo datum in uro prikazati v drugi obliki, najprej razumemo oblikovanje datuma.

SimpleDateFormat: Razčlenitev in oblikovanje datumov

Vsi abecede ste se morali naučiti v vrtcu

...

Zdaj se naučimo ABC-jev zapisa datuma.

Pismo Komponenta datuma ali časa Primeri
G Označevalec dobe AD
y Leto 2018
M Mesec v letu Julij ali julij ali 07
w Teden v letu 27.
W Teden v mesecu 2.
D Dan v letu 189
d Dan v mesecu 10.
F Dan v tednu v mesecu 2.
E Ime dneva v tednu Torek ali torek
u Številka dneva v tednu (1 = ponedeljek,…, 7 = nedelja) 1.
a Oznaka am / pm PM
H Ura v dnevu (0-23) 0
k Ura v dnevu (1-24) 24.
K Ura zjutraj / zvečer (0-11) 0
h Ura zjutraj / zvečer (1-12) 12.
m Minuta v uri 30.
s Druga v minuti 55
S Milisekunda 978
z Časovni pas Pacifiški standardni čas; PST; GMT-08: 00
Z Časovni pas -0800
X Časovni pas -08 ali -0800 ali -08: 00

Ne skrbite, vseh teh si ni treba zapomniti, nanje se lahko sklicujete kadar koli potrebujete za oblikovanje določenega datuma.

Kako uporabiti SimpleDateFormat?

Java ponuja razred, imenovan SimpleDateFormat, ki vam omogoča oblikovanje in razčlenitev datumov v skladu z vašimi zahtevami.

Zgornje znake lahko uporabite za določanje oblike - na primer:

1) Zahtevana oblika datuma: 2012.10.23 20:20:45 PST

Navedena ustrezna oblika datuma bo llll.MM.dd VH: mm: ss zzz

2) Zahtevana oblika datuma: 09:30:00, 23. maj 2012

Navedena ustrezna oblika datuma bo : hh: mm: ss a dd-MMM-llll

Namig: Bodite previdni pri uporabi velikih začetnic. Če M zamenjate z m, boste dobili neželene rezultate!

Naučimo se tega s primerom kode.

import java.text.SimpleDateFormat;import java.util.Date;class TestDates_Format {public static void main(String args[]) {Date objDate = new Date(); // Current System Date and time is assigned to objDateSystem.out.println(objDate);String strDateFormat = "hh:mm:ss a dd-MMM-yyyy"; //Date format is SpecifiedSimpleDateFormat objSDF = new SimpleDateFormat(strDateFormat); //Date format string is passed as an argument to the Date format objectSystem.out.println(objSDF.format(objDate)); //Date formatting is applied to the current date}}

Izhod:

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

Primerjaj datume Primer

Najbolj uporabna metoda primerjave datumov je z uporabo metode - compareTo ()

Oglejmo si spodnji delček kode-

import java.text.SimpleDateFormat;import java.text.ParseException;import java.util.Date;class TestDates_Compare {public static void main(String args[]) throws ParseException {SimpleDateFormat objSDF = new SimpleDateFormat("dd-mm-yyyy");Date dt_1 = objSDF.parse("20-08-1981");Date dt_2 = objSDF.parse("12-10-2012");System.out.println("Date1 : " + objSDF.format(dt_1));System.out.println("Date2 : " + objSDF.format(dt_2));if (dt_1.compareTo(dt_2)> 0) {System.out.println("Date 1 occurs after Date 2");} // compareTo method returns the value greater than 0 if this Date is after the Date argument.else if (dt_1.compareTo(dt_2) < 0) {System.out.println("Date 1 occurs before Date 2");} // compareTo method returns the value less than 0 if this Date is before the Date argument;else if (dt_1.compareTo(dt_2) == 0) {System.out.println("Both are same dates");} // compareTo method returns the value 0 if the argument Date is equal to the second Date;else {System.out.println("You seem to be a time traveller !!");}}}
Izhod:
Date1 : 20-08-1981Date2 : 12-10-2012Date 1 occurs before Date 2