Ημερομηνία Java & Ώρα: SimpleDateFormat, Τρέχουσα ημερομηνία & Συγκρίνω

Πίνακας περιεχομένων:

Anonim

Σε αυτό το σεμινάριο, θα μάθετε -

  • Εμφάνιση τρέχουσας ημερομηνίας σε Java
  • SimpleDateFormat: Ημερομηνίες ανάλυσης και μορφοποίησης
  • Συγκρίνετε Παράδειγμα Ημερομηνιών

Ας καταλάβουμε πρώτα τις παραμέτρους που αποτελούνται από μια ημερομηνία .

Θα περιέχει κυρίως -

  • Το έτος (με 2 ή 4 ψηφία)
  • Ο μήνας (με 2 ψηφία, 3 πρώτα γράμματα του μήνα ή ολόκληρη τη λέξη του μήνα).
  • Η ημερομηνία (θα είναι η πραγματική ημερομηνία του μήνα).
  • Η ημέρα (η ημέρα κατά τη δεδομένη ημερομηνία - όπως Κυρ, Δευ, Τρί κ.λπ.)

Όσον αφορά τα συστήματα υπολογιστών, υπάρχουν πολλές παράμετροι που μπορούν να χρησιμοποιηθούν για τη συσχέτιση με μια ημερομηνία. Θα τα δούμε στα επόμενα μέρη αυτού του θέματος.

Εμφάνιση ημερομηνίας σε Java

Τώρα ας δούμε πώς η Java μας παρέχει την Ημερομηνία. Πρώτον, θα δούμε πώς να λάβουμε την τρέχουσα ημερομηνία-

Η Java παρέχει μια τάξη ημερομηνίας στο πακέτο java.util. Το πακέτο παρέχει διάφορες μεθόδους για να παίξετε με την ημερομηνία.

Μπορείτε να χρησιμοποιήσετε το αντικείμενο Date, επικαλούμενος τον κατασκευαστή της κλάσης Date ως εξής:

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

Παραγωγή:

Wed Nov 29 06:36:22 UTC 2017

Στο παραπάνω παράδειγμα ημερομηνίας εμφανίζεται σε προεπιλεγμένη μορφή, Αν θέλουμε να δείξουμε την ημερομηνία και την ώρα σε άλλη μορφή, κατανοήστε πρώτα τη Μορφοποίηση ημερομηνίας

SimpleDateFormat: Ημερομηνίες ανάλυσης και μορφοποίησης

Όλοι πρέπει να έχετε μάθει τα αλφάβητα στο νηπιαγωγείο σας

….

Ας μάθουμε τώρα τα ABC της μορφής ημερομηνίας.

Γράμμα Στοιχείο ημερομηνίας ή ώρας Παραδείγματα
σολ Ο σχεδιαστής της εποχής ΕΝΑ Δ
γ Ετος 2018
Μ Μήνας σε έτος Ιούλιος ή Ιουλ ή 07
β Εβδομάδα σε χρόνο 27
Δ Εβδομάδα σε μήνα 2
ρε Ημέρα σε χρόνο 189
ρε Ημέρα σε μήνα 10
φά Ημέρα της εβδομάδας σε μήνα 2
μι Όνομα ημέρας σε εβδομάδα Τρίτη ή Τρίτη
εσύ Αριθμός ημέρας της εβδομάδας (1 = Δευτέρα,…, 7 = Κυριακή) 1
ένα Am / pm δείκτη ΜΕΤΑ ΜΕΣΗΜΒΡΙΑΣ
Η Ώρα στην ημέρα (0-23) 0
κ Ώρα στην ημέρα (1-24) 24
κ Ώρα σε π.μ. / μ.μ. (0-11) 0
η Ώρα σε π.μ. / μ.μ. (1-12) 12
Μ Λεπτό σε ώρα 30
μικρό Δεύτερο σε λεπτό 55
μικρό Μιλιδευτερόλεπτο 978
ζ Ζώνη ώρας Τυπική ώρα Ειρηνικού; PST; GMT-08: 00
Ζ Ζώνη ώρας -0800
Χ Ζώνη ώρας -08 ή -0800 ή -08: 00

Μην ανησυχείτε, δεν χρειάζεται να τα θυμάστε όλα αυτά, μπορούν να παραπεμφθούν όποτε θέλετε να μορφοποιήσετε μια συγκεκριμένη ημερομηνία.

Πώς να χρησιμοποιήσετε το SimpleDateFormat;

Η Java παρέχει μια τάξη που ονομάζεται SimpleDateFormat που σας επιτρέπει να μορφοποιήσετε και να αναλύσετε ημερομηνίες σύμφωνα με τις απαιτήσεις σας.

Μπορείτε να χρησιμοποιήσετε τους παραπάνω χαρακτήρες για να καθορίσετε τη μορφή - Για παράδειγμα:

1) Απαιτείται μορφή ημερομηνίας: 2012.10.23 20:20:45 PST

Η κατάλληλη μορφή ημερομηνίας που καθορίζεται θα είναι YMYDDHH: mm: ss zzz

2) Απαιτείται μορφή ημερομηνίας: 09:30:00 π.μ. 23 Μαΐου-2012

Η κατάλληλη μορφή ημερομηνίας που καθορίζεται είναι : hh: mm: ss a dd-MMM-yyyy

Συμβουλή: Να είστε προσεκτικοί με την χρήση κεφαλαίων γραμμάτων. Εάν κάνετε λάθος Μ με m, θα έχετε ανεπιθύμητα αποτελέσματα!

Ας το μάθουμε με ένα παράδειγμα κώδικα.

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

Παραγωγή:

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

Συγκρίνετε Παράδειγμα Ημερομηνιών

Η πιο χρήσιμη μέθοδος σύγκρισης ημερομηνιών είναι με τη χρήση της μεθόδου - membandingkanTo ()

Ας ρίξουμε μια ματιά στο παρακάτω απόσπασμα κώδικα-

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 !!");}}}
Παραγωγή:
Date1 : 20-08-1981Date2 : 12-10-2012Date 1 occurs before Date 2