Τρόπος χρήσης Java Duration Class

Tropos Chreses Java Duration Class



Στον προγραμματισμό Java, μπορεί να υπάρχουν ορισμένες περιπτώσεις όπου υπάρχει ανάγκη μέτρησης του χρόνου σε δευτερόλεπτα ή νανοδευτερόλεπτα. Για παράδειγμα, η σύγκριση και ο υπολογισμός της διαφοράς χρόνου μεταξύ διαφόρων χρονικών πλαισίων ή η επιστροφή των υπολογισμένων λεπτών, δευτερολέπτων ή νανοδευτερόλεπτων. Σε τέτοιες περιπτώσεις, το « Τάξη Διάρκειας ” στη Java βοηθά στην αποτελεσματική εργασία με λειτουργίες που σχετίζονται με το χρόνο.

Αυτό το ιστολόγιο θα αναπτύξει λεπτομερώς την εφαρμογή της «Τάξης Διάρκειας» στην Java.







Τι είναι το Java Duration Class;

' Διάρκεια ” είναι η κλάση που βασίζεται σε τιμές που υπάρχει στη βιβλιοθήκη χρόνου Java που χρησιμοποιείται για τη μέτρηση του χρόνου σε δευτερόλεπτα και νανοδευτερόλεπτα. Επίσης, αυτή η κλάση είναι αμετάβλητη και ασφαλής για νήματα.



Μέθοδοι Τάξης Διάρκειας

Ακολουθούν μερικές από τις σημαντικές μεθόδους της κλάσης Duration:



Μέθοδοι Χρήση
addTo (Προσωρινή χρονική) Χρησιμοποιείται για την προσθήκη αυτής της διάρκειας στο συγκεκριμένο χρονικό αντικείμενο.
get (Προσωρινή μονάδα) Χρησιμοποιείται για την ανάκτηση της ζητούμενης τιμής μονάδας.
κοιλιακοί () Δίνει ένα θετικό αντίγραφο του μήκους.
Διάρκεια μεταξύ (Προσωρινή έναρξη Συμπεριλαμβανομένου, Προσωρινή λήξη Αποκλειστική) Αυτή η μέθοδος βρίσκει τη διάρκεια μεταξύ δύο αντικειμένων (χρονική).
συν (Διάρκεια) Εφαρμόζεται για να δοθεί ένα αντίγραφο αυτής της διάρκειας με την παρεχόμενη προστιθέμενη διάρκεια.
μείον (Διάρκεια διάρκειας) Αυτή η μέθοδος χρησιμοποιείται για να δώσει ένα αντίγραφο αυτής της διάρκειας μαζί με την παρεχόμενη διάρκεια που αφαιρείται.
getNano() Φέρνει τα νανοδευτερόλεπτα στο δεύτερο σε αυτή τη διάρκεια.
getSeconds() Παίρνει τα δευτερόλεπτα σε αυτή τη διάρκεια.
από (μεγάλο ποσό, χρονική μονάδα) Αυτή η μέθοδος λαμβάνει μια Διάρκεια που αντιστοιχεί στο ποσό στην παρεχόμενη μονάδα.
ofSeconds (μεγάλο δευτερόλεπτο) Παίρνει μια διάρκεια που αναφέρεται στον αριθμό των δευτερολέπτων.
ofNanos (μακριά μέσα) Παίρνει μια διάρκεια που αντιστοιχεί στον αριθμό των νανοδευτερόλεπτων.
of Minutes (μεγάλο λεπτό) Παίρνει μια Διάρκεια που σημαίνει τον αριθμό των λεπτών.
ofMillis (μακριά χιλιοστά) Αυτή η μέθοδος παίρνει μια διάρκεια που αντιπροσωπεύει χιλιοστά του δευτερολέπτου.
ofHours (πολλές ώρες) Λαμβάνει μια διάρκεια που αναφέρεται στις τυπικές/προεπιλεγμένες ώρες.
ofDays (μεγάλες μέρες) Λαμβάνει μια Διάρκεια που υποδεικνύει τον αριθμό των τυπικών/προεπιλεγμένων ημερών 24 ωρών.
σύγκριση Με (Διάρκεια x) Συγκρίνει τη δεδομένη διάρκεια με την παρεχόμενη Διάρκεια.
Διάρκεια μεταξύ (Temporal startIncl, Temporal endExcl) Παίρνει μια Διάρκεια που αντιστοιχεί στη διάρκεια μεταξύ δύο αντικειμένων (χρονική).
parse (Κείμενο CharSequence) Αυτή η μέθοδος ανακτά μια διάρκεια από μια συμβολοσειρά κειμένου.
από (Προσωρινό ποσό) Λαμβάνει την παρουσία Διάρκειας μέσω χρονικού ποσού.





Τώρα, ας εφαρμόσουμε μερικές από τις μεθόδους 'Τάξη διάρκειας'.

Πριν προχωρήσετε στα παραδείγματα, εισαγάγετε το πακέτο που παρέχεται παρακάτω για να εργαστείτε με το ' Διάρκεια ” τάξη:



εισαγωγή java.time.Duration;

Παράδειγμα 1: Εφαρμογή της κλάσης διάρκειας 'between()', 'get()' και 'isNegative()' μεθόδων στην Java

Αυτό το παράδειγμα εφαρμόζει τις μεθόδους που συζητήθηκαν και επιστρέφει το αντίστοιχο αποτέλεσμα ως boolean ή με τη μορφή υπολογισμένων δευτερολέπτων:

δημόσια τάξη Διάρκεια {
δημόσιο στατικό κενό κύριο ( Σειρά [ ] args ) {
Duration timeDiff1 = Διάρκεια.μεταξύ ( LocalTime.MAX, LocalTime.NOON ) ;
System.out.println ( timeDiff1.is Αρνητικό ( ) ) ;
System.out.println ( timeDiff1.get ( ChronoUnit.ΔΕΥΤΕΡΟΛΕΠΤΑ ) ) ;
Duration timeDiff2 = Διάρκεια.μεταξύ ( Τοπική Ώρα.ΜΕΣΗΜΕΡΙ, Τοπική Ώρα.ΜΕΓ ) ;
System.out.println ( timeDiff2.is Αρνητικό ( ) ) ;
System.out.println ( timeDiff2.get ( ChronoUnit.ΔΕΥΤΕΡΟΛΕΠΤΑ ) ) ;
} }

Στις παραπάνω γραμμές κώδικα:

  • Πρώτα απ 'όλα, εφαρμόστε το ' μεταξύ() Μέθοδος class(Duration) για την επιστροφή της χρονικής διαφοράς μεταξύ των αναφερόμενων χρόνων.
  • Σημείωση: Ο ' Μέγιστη ' αντιστοιχεί στην ' 23:59:59,99 ' και το ' Τοπική Ώρα. Μεσημέρι ' υποδηλώνει ' 12:00 '.
  • Μετά από αυτό, συσχετίστε το ' isNegative() μέθοδος με την υπολογισμένη διαφορά για να αναλυθεί εάν η χρονική διαφορά είναι αρνητική επιστρέφοντας ένα δυαδικό αποτέλεσμα.
  • Επίσης, εφαρμόστε το « παίρνω() ” μέθοδος για την ανάκτηση της υπολογιζόμενης διαφοράς.
  • Τώρα, εφαρμόστε το ' μεταξύ() ” και πάλι με την εναλλαγή των χρονικών πλαισίων και την επανάληψη των προσεγγίσεων που συζητήθηκαν για την ανάλυση των τιμών και την επιστροφή της διαφοράς τους.

Παραγωγή

Σε αυτό το αποτέλεσμα, μπορεί να παρατηρηθεί ότι οι αντίστοιχες χρονικές διαφορές υπολογίζονται και οι αρνητικές τιμές αξιολογούνται αναλόγως.

Πριν μεταβείτε στο επόμενο παράδειγμα, φροντίστε να εισαγάγετε το ακόλουθο πρόσθετο πακέτο για να εργαστείτε με την ημερομηνία και την ώρα:

εισαγωγή java.time.temporal.ChronoUnit;

Παράδειγμα 2: Εφαρμογή της κλάσης διάρκειας 'from()', 'getDuration()' και 'toMinutes()'

Σε αυτό το παράδειγμα, οι μέθοδοι που συζητήθηκαν μπορούν να εφαρμοστούν για την ανάκτηση της διάρκειας σε ώρες και την ανάκτησή της σε λεπτά:

δημόσια τάξη Διάρκεια2 {
δημόσιο στατικό κενό κύριο ( Σειρά [ ] args ) {
Duration dur = Διάρκεια.από ( ChronoUnit.HOURS.getDuration ( ) ) ;
System.out.println ( 'Η διάρκεια σε λεπτά είναι ->' +dur.toMinutes ( ) ) ;
} }

Σε αυτό το μπλοκ κώδικα, εφαρμόστε το συνδυασμένο ' από() ' και ' getDuration() ” μέθοδοι για τη λήψη της διάρκειας σε ώρες. Μετά από αυτό, συσχετίστε το ' toMinutes () ' μέθοδος για να επιστρέψετε τη διάρκεια σε λεπτά.

Παραγωγή

Στην παραπάνω έξοδο, φαίνεται ότι τα αντίστοιχα λεπτά σε μια ώρα ανακτώνται κατάλληλα.

συμπέρασμα

' Διάρκεια ” είναι η κλάση που βασίζεται σε τιμές στη βιβλιοθήκη χρόνου Java που χρησιμοποιείται για τη μέτρηση του χρόνου σε δευτερόλεπτα και νανοδευτερόλεπτα. Επίσης, μπορεί να κληθεί χρησιμοποιώντας άλλες μονάδες που βασίζονται στη διάρκεια, π.χ. 'λεπτά' και 'ώρες'. Αυτή η κλάση μπορεί να χρησιμοποιηθεί για τον υπολογισμό των χρονικών διαφορών μεταξύ των χρονικών πλαισίων ή για την επιστροφή της διάρκειας σε μια συγκεκριμένη μορφή, π.χ. λεπτά '. Αυτό το άρθρο κατέδειξε τη χρήση της Java 'Duration Class'.