Σε αυτό το πρόγραμμα, θα μάθετε να προσθέτετε δύο ημερομηνίες στην Java χρησιμοποιώντας το Ημερολόγιο.
Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες εφαρμογές προγραμματισμού Java:
- Τάξη και αντικείμενα Java
- Βασική είσοδος και έξοδος Java
Δεδομένου ότι, η εποχή της Java είναι το 1970, κάθε φορά που αντιπροσωπεύεται σε ένα Date
αντικείμενο δεν θα λειτουργήσει. Αυτό σημαίνει ότι οι Ημερομηνίες σας θα ξεκινήσουν από το 1970 και όταν Date
προστεθούν δύο αντικείμενα, το άθροισμα χάνει περίπου 1970 χρόνια. Έτσι, χρησιμοποιούμε Calendar
αντ 'αυτού.
Παράδειγμα: Πρόγραμμα Java για προσθήκη δύο ημερομηνιών
import java.util.Calendar; public class AddDates ( public static void main(String() args) ( Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getInstance(); Calendar cTotal = (Calendar) c1.clone(); cTotal.add(Calendar.YEAR, c2.get(Calendar.YEAR)); cTotal.add(Calendar.MONTH, c2.get(Calendar.MONTH) + 1); // Zero-based months cTotal.add(Calendar.DATE, c2.get(Calendar.DATE)); cTotal.add(Calendar.HOUR_OF_DAY, c2.get(Calendar.HOUR_OF_DAY)); cTotal.add(Calendar.MINUTE, c2.get(Calendar.MINUTE)); cTotal.add(Calendar.SECOND, c2.get(Calendar.SECOND)); cTotal.add(Calendar.MILLISECOND, c2.get(Calendar.MILLISECOND)); System.out.format("%s + %s = %s", c1.getTime(), c2.getTime(), cTotal.getTime()); ) )
Παραγωγή
Τρί Αυγ 08 10:20:56 NPT 2017 + Τρί Αυγ 08 10:20:56 NPT 2017 = Δευ 16 Απρ 20:41:53 NPT 4035
Στο παραπάνω πρόγραμμα, τα c1 και c2 αποθηκεύουν την τρέχουσα ημερομηνία. Στη συνέχεια, απλώς κλωνοποιούμε το c1 και προσθέτουμε c2 κάθε ιδιότητα DateTime το ένα μετά το άλλο.
Όπως μπορείτε να δείτε, προσθέσαμε 1 στους μήνες. Αυτό συμβαίνει επειδή οι μήνες ξεκινούν με 0 στην Java.
Εναλλακτικά, μπορείτε επίσης να χρησιμοποιήσετε το Joda για λειτουργίες ώρας / ημερομηνίας στην Java.