Šajā apmācībā jūs uzzināsiet -
- Parādīt pašreizējo datumu Java
- SimpleDateFormat: Parsēšanas un formatēšanas datumi
- Datu salīdzināšanas piemērs
Vispirms sapratīsim parametrus, kas sastāv no datuma .
Tas galvenokārt satur -
- Gads (vai nu 2 vai 4 cipariem)
- Mēnesī (vai nu 2 cipariem, pirmo 3 burti no mēneša vai visa vārds mēnesī).
- Datums (tas būs faktiskais datums mēnesī).
- Diena (dienu pēc konkrētā datumā - tāpat Sun, Mon, Tue, uc)
Kas attiecas uz datorsistēmām, ir diezgan daudz parametru, kurus var izmantot saistīšanai ar datumu. Mēs tos redzēsim šīs tēmas turpmākajās daļās.
Parādīt datumu Java
Tagad ļaujiet mums redzēt, kā Java nodrošina datumu. Pirmkārt, mēs redzēsim, kā iegūt pašreizējo datumu
Java paketē java.util Java nodrošina klases datumu, pakotne nodrošina vairākas metodes, kā spēlēt ar datumu.
Objektu Date var izmantot, atsaucoties uz Date klases konstruktoru šādi:
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());}}
Izeja:
Wed Nov 29 06:36:22 UTC 2017
Iepriekš minētajā datumā, kas parādīts noklusējuma formātā, ja mēs vēlamies parādīt datumu un laiku citā formātā, vispirms izprotiet datuma formatēšanu.
SimpleDateFormat: Parsēšanas un formatēšanas datumi
Jums visiem noteikti jāapgūst alfabēti jūsu bērnudārzā
….Ļaujiet mums tagad uzzināt datuma formāta ABC.
Vēstule | Datuma vai laika komponents | Piemēri |
---|---|---|
G | Laikmeta apzīmētājs | AD |
y | Gads | 2018. gads |
M | Mēnesis gadā | Jūlijs vai jūlijs vai 07 |
w | Nedēļa gadā | 27 |
W | Nedēļa mēnesī | 2 |
D | Diena gadā | 189 |
d | Diena mēnesī | 10 |
F | Nedēļas diena mēnesī | 2 |
E | Dienas nosaukums nedēļā | Otrdien vai otrdien |
u | Dienas nedēļas numurs (1 = pirmdiena,…, 7 = svētdiena) | 1 |
a | Am / pm marķieris | PM |
H | Stunda dienā (0–23) | 0 |
k | Stunda dienā (1-24) | 24 |
K | Stunda rītā / vakarā (0–11) | 0 |
h | Stunda rītā / vakarā (1–12) | 12 |
m | Minūte stundā | 30 |
s | Otrais minūtē | 55 |
S | Millisekunde | 978 |
z | Laika zona | Klusā okeāna standarta laiks; PST; GMT-08: 00 |
Z | Laika zona | -0800 |
X | Laika zona | -08 vai -0800 vai -08: 00 |
Neuztraucieties, jums tas viss nav jāatceras, tos var nosūtīt jebkurā laikā, kad nepieciešams formatēt noteiktu datumu.
Kā lietot SimpleDateFormat?
Java nodrošina klasi ar nosaukumu SimpleDateFormat, kas ļauj formatēt un parsēt datumus atbilstoši jūsu prasībām.
Lai norādītu formātu, varat izmantot iepriekš minētās rakstzīmes - piemēram:
1) Nepieciešamais datuma formāts: 2012.10.23 20:20:45 PST
Norādītais atbilstošais datuma formāts būs - gggg.MM.dd HH: mm: ss zzz
2) Nepieciešamais datuma formāts: 09:30:00 AM, 2012. gada 23. maijs
Norādītais datuma formāts būs šāds: hh: mm: ss dd-MMM-yyyy
Padoms. Esiet uzmanīgs ar burtu lielo burtu lietošanu. Ja kļūdīsities ar M, iegūsiet nevēlamus rezultātus!
Mācīsimies to ar koda piemēru.
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}}
Izeja:
Wed Nov 29 06:31:41 UTC 201706:31:41 AM 29-Nov-2017
Datu salīdzināšanas piemērs
Visnoderīgākā datumu salīdzināšanas metode ir izmantot metodi - CompareTo ()
Apskatīsim tālāk redzamo koda fragmentu-
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 !!");}}}Izeja:
Date1 : 20-08-1981Date2 : 12-10-2012Date 1 occurs before Date 2