„Java“ data ir Laikas: SimpleDateFormat, Dabartinė data & Palyginti

Turinys:

Anonim

Šioje pamokoje sužinosite -

  • Rodyti dabartinę datą „Java“
  • SimpleDateFormat: analizuoti ir formatuoti datas
  • Palyginkite datas

Pirmiausia supraskime parametrus, kuriuos sudaro data .

Pirmiausia jame bus:

  • M (į 2 arba 4 skaitmenys)
  • Mėnesį (Bet 2 skaitmenų, pirmąsias 3 raidės mėnesį ar visą žodį mėnesio).
  • Data (tai bus tikroji data mėnesį).
  • Dieną (dieną tuo konkrečią dieną - kaip saulė, Pr, An, ir tt)

Kalbant apie kompiuterines sistemas, yra gana daug parametrų, kuriuos galima naudoti susiejant su data. Jas pamatysime vėlesnėse šios temos dalyse.

Rodyti datą „Java“

Dabar pažiūrėkime, kaip „Java“ pateikia mums datą. Pirma, mes pamatysime, kaip gauti dabartinę datą

„Java“ suteikia „Date“ klasę po java.util paketu. Pakete pateikiami keli būdai, kaip žaisti su data.

Objektą „Data“ galite naudoti iškviesdami „Date“ klasės konstruktorių taip:

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());}}

Išvestis:

Wed Nov 29 06:36:22 UTC 2017

Aukščiau pateiktame datos, nurodytos numatytuoju formatu, pavyzdyje: Jei norime datą ir laiką rodyti kitu formatu, pirmiausia supraskite datos formatavimą.

SimpleDateFormat: analizuoti ir formatuoti datas

Jūs visi turite išmokti abėcėlės savo darželyje

….

Sužinokime datos formato ABC.

Laiškas Datos arba laiko komponentas Pavyzdžiai
G Eros žymeklis REKLAMA
y Metai 2018 m
M Mėnuo metais Liepos arba liepos arba 07 d
w Metų savaitė 27
W Savaitė per mėnesį 2
D Diena metais 189
d Diena per mėnesį 10
F Mėnesio savaitės diena 2
E Dienos pavadinimas savaite Antradienis arba antradienis
u Dienos savaitės numeris (1 = pirmadienis,…, 7 = sekmadienis) 1
a Am / pm žymeklis PM
H Valanda dieną (0–23) 0
k Valanda per dieną (1–24) 24
K. Valanda ryto / vakaro (0–11) 0
h Valanda am / pm (1–12) 12
m Minutė per valandą 30
s Antras per minutę 55
S Milisekundė 978
z Laiko zona Ramiojo vandenyno standartinis laikas; PST; GMT-08: 00
Z Laiko zona -0800
X Laiko zona -08 arba -0800 arba -08: 00

Nesijaudinkite, jums nereikia atsiminti visų šių dalykų, juos galite nurodyti bet kada, kai reikia suformatuoti tam tikrą datą.

Kaip naudoti „SimpleDateFormat“?

„Java“ pateikia klasę, vadinamą „SimpleDateFormat“, leidžiančią formatuoti ir išanalizuoti datas pagal jūsų reikalavimus.

Norėdami nurodyti formatą, galite naudoti anksčiau nurodytus simbolius - pavyzdžiui:

1) Reikalingas datos formatas: 2012.10.23 20:20:45 PST

Nurodytas tinkamas datos formatas bus : mmmm.MM.dd HH: mm: ss zzz

2) Reikalingas datos formatas: 2012 m. Gegužės 23 d., 09:30:00

Nurodytas tinkamas datos formatas bus- val: mm: ss dd-MMM-yyyy

Patarimas: būkite atsargūs rašydami didžiąsias raides. Jei suklaidinsite M su m, pasieksite nepageidaujamų rezultatų!

Sužinokime tai su kodo pavyzdžiu.

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}}

Išvestis:

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

Palyginkite datas

Naudingiausias datų palyginimo metodas yra naudojant metodą - CompareTo ()

Pažvelkime į toliau pateiktą kodo fragmentą

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 !!");}}}
Išvestis:
Date1 : 20-08-1981Date2 : 12-10-2012Date 1 occurs before Date 2