Ημερομηνία και ώρα JavaScript

Σε αυτό το σεμινάριο, θα μάθετε για την ημερομηνία και την ώρα σε JavaScript με τη βοήθεια παραδειγμάτων.

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

Η ημερομηνία JavaScript ορίζει την εποχή EcmaScript που αντιπροσωπεύει χιλιοστά του δευτερολέπτου από την 1η Ιανουαρίου 1970 UTC . Αυτή η ημερομηνία και ώρα είναι η ίδια με την εποχή του UNIX (κυρίαρχη βασική τιμή για τιμές ημερομηνίας και ώρας που έχουν καταγραφεί από υπολογιστή).

Δημιουργία αντικειμένων ημερομηνίας

Υπάρχουν τέσσερις τρόποι για να δημιουργήσετε ένα αντικείμενο ημερομηνίας.

  • νέα ημερομηνία ()
  • νέα ημερομηνία (χιλιοστά του δευτερολέπτου)
  • νέα ημερομηνία (συμβολοσειρά ημερομηνίας)
  • νέα ημερομηνία (έτος, μήνας, ημέρα, ώρες, λεπτά, δευτερόλεπτα, χιλιοστά του δευτερολέπτου)

νέα ημερομηνία ()

Μπορείτε να δημιουργήσετε ένα αντικείμενο ημερομηνίας χρησιμοποιώντας τον new Date()κατασκευαστή. Για παράδειγμα,

 const timeNow = new Date(); console.log(timeNow); // shows current date and time

Παραγωγή

 Δευ 06 Ιουλίου 2020 12:03:49 GMT + 0545 (Ώρα Νεπάλ)

Εδώ, new Date()δημιουργεί ένα νέο αντικείμενο ημερομηνίας με την τρέχουσα ημερομηνία και την τοπική ώρα.

νέα ημερομηνία (χιλιοστά του δευτερολέπτου)

Το Dateαντικείμενο περιέχει έναν αριθμό που αντιπροσωπεύει χιλιοστά του δευτερολέπτου από την 1η Ιανουαρίου 1970 UTC .

new Date(milliseconds)δημιουργεί ένα νέο αντικείμενο ημερομηνίας προσθέτοντας τα χιλιοστά του δευτερολέπτου στο μηδέν χρόνο. Για παράδειγμα,

 const time1 = new Date(0); // epoch time console.log(time1); // Thu Jan 01 1970 05:30:00 // 100000000000 milliseconds after the epoch time const time2 = new Date(100000000000) console.log(time2); // Sat Mar 03 1973 15:16:40

Σημείωση : 1000 χιλιοστά του δευτερολέπτου ισούται με 1 δευτερόλεπτο.

νέα ημερομηνία (συμβολοσειρά ημερομηνίας)

new Date(date string) δημιουργεί ένα νέο αντικείμενο ημερομηνίας από μια συμβολοσειρά ημερομηνίας.

Στο JavaScript, υπάρχουν συνήθως τρεις μορφές εισαγωγής ημερομηνίας.

Μορφές ημερομηνίας ISO

Μπορείτε να δημιουργήσετε ένα αντικείμενο ημερομηνίας περνώντας μορφές ημερομηνίας ISO. Για παράδειγμα,

 // ISO Date(International Standard) const date = new Date("2020-07-01"); // the result date will be according to UTC console.log(date); // Wed Jul 01 2020 05:45:00 GMT+0545

Μπορείτε επίσης να περάσετε μόνο το έτος και το μήνα ή μόνο το έτος. Για παράδειγμα,

 const date = new Date("2020-07"); console.log(date); // Wed Jul 01 2020 05:45:00 GMT+0545 const date1 = new Date("2020"); console.log(date1); // Wed Jul 01 2020 05:45:00 GMT+0545

Μπορείτε επίσης να περάσετε συγκεκριμένη ώρα στις ημερομηνίες ISO.

 const date = new Date("2020-07-01T12:00:00Z"); console.log(date); // Wed Jul 01 2020 17:45:00 GMT+0545

Σημείωση : Η ημερομηνία και η ώρα διαχωρίζονται με κεφαλαίο γράμμα Τ . Και ο χρόνος UTC ορίζεται με το κεφάλαιο Ζ .

Μορφή σύντομης και μεγάλης ημερομηνίας

Οι άλλες δύο μορφές ημερομηνίας είναι σύντομη μορφή ημερομηνίας και μεγάλη μορφή ημερομηνίας .

 // short date format "MM/DD/YYYY" const date = new Date("03/25/2015"); console.log(date); // Wed Mar 25 2015 00:00:00 GMT+0545 // long date format "MMM DD YYYY" const date1 = new Date("Jul 1 2020"); console.log(date1); // Wed Jul 01 2020 00:00:00 GMT+0545 // month and day can be in any order const date2 = new Date("1 Jul 2020"); console.log(date2); // Wed Jul 01 2020 00:00:00 GMT+0545 // month can be full or abbreviated. Also month names are insensitive. // comma are ignored const date3 = new Date("July 1 2020"); console.log(date3); // Wed Jul 01 2020 00:00:00 GMT+0545 const date4 = new Date("JULY, 1, 2020"); console.log(date4); // Wed Jul 01 2020 00:00:00

νέα ημερομηνία (έτος, μήνας, ημέρα, ώρες, λεπτά, δευτερόλεπτα, χιλιοστά του δευτερολέπτου)

new Date(year, month,… )δημιουργεί ένα νέο αντικείμενο ημερομηνίας περνώντας συγκεκριμένη ημερομηνία και ώρα. Για παράδειγμα,

 const time1 = new Date(2020, 1, 20, 4, 12, 11, 0); console.log(time1); // Thu Feb 20 2020 04:12:11

Το επιτυχημένο όρισμα έχει μια συγκεκριμένη σειρά.

Εάν περάσουν τέσσερις αριθμοί, αντιπροσωπεύει έτος, μήνα, ημέρα και ώρες. Για παράδειγμα,

 const time1 = new Date(2020, 1, 20, 4); console.log(time1); // Thu Feb 20 2020 04:00:00

Ομοίως, εάν περάσουν δύο ορίσματα, αντιπροσωπεύει το έτος και τον μήνα. Για παράδειγμα,

 const time1 = new Date(2020, 1); console.log(time1); // Sat Feb 01 2020 00:00:00

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

Στο JavaScript, οι μήνες υπολογίζονται από 0 έως 11 . Ο Ιανουάριος είναι 0 και ο Δεκέμβριος είναι 11 .

Μέθοδοι ημερομηνίας JavaScript

Υπάρχουν διάφορες διαθέσιμες μέθοδοι στο αντικείμενο Ημερομηνία JavaScript.

Μέθοδος Περιγραφή
τώρα() Επιστρέφει την αριθμητική τιμή που αντιστοιχεί στην τρέχουσα ώρα (ο αριθμός των χιλιοστών του δευτερολέπτου που έχει παρέλθει από την 1η Ιανουαρίου 1970 00:00:00 UTC)
getFullYear () Παίρνει το έτος σύμφωνα με την τοπική ώρα
getMonth () Παίρνει το μήνα, από 0 έως 11 σύμφωνα με την τοπική ώρα
getDate () Παίρνει την ημέρα του μήνα (1-31) σύμφωνα με την τοπική ώρα
getDay () Παίρνει την ημέρα της εβδομάδας (0-6) σύμφωνα με την τοπική ώρα
getHours () Παίρνει την ώρα από 0 έως 23 σύμφωνα με την τοπική ώρα
getMinutes Gets the minute from 0 to 59 according to local time
getUTCDate() Gets the day of the month (1-31) according to universal time
setFullYear() Sets the full year according to local time
setMonth() Sets the month according to local time
setDate() Sets the day of the month according to local time
setUTCDate() Sets the day of the month according to universal time

Example: Date Methods

 const timeInMilliseconds = Date.now(); console.log(timeInMilliseconds); // 1593765214488 const time = new Date; // get day of the month const date = time.getDate(); console.log(date); // 30 // get day of the week const year = time.getFullYear(); console.log(year); // 2020 const utcDate = time.getUTCDate(); console.log(utcDate); // 30 const event = new Date('Feb 19, 2020 23:15:30'); // set the date event.setDate(15); console.log(event.getDate()); // 15 // Only 28 days in February! event.setDate(35); console.log(event.getDate()); // 7

Formatting a Date

Unlike other programming languages, JavaScript does not provide a built-in function for formatting a date.

However, you can extract individual bits and use it like this.

 const currentDate = new Date(); const date = currentDate.getDate(); const month = currentDate.getMonth(); const year = currentDate.getFullYear(); // show in specific format let monthDateYear = (month+1) + '/' + date + '/' + year; console.log(monthDateYear); // 7/3/2020

Note: The above program gives inconsistent length as date and month have single-digit and double-digit.

AutoCorrection in Date Object

When you assign out of range values in the Date object, it auto-corrects itself. For example,

 const date = new Date(2008, 0, 33); // Jan does not have 33 days console.log(date);

Output

 Sat Feb 02 2008

Για να μάθετε περισσότερα σχετικά με την ημερομηνία και την ώρα στο JavaScript, επισκεφθείτε την απομυθοποίηση ημερομηνίας και ώρας.

ενδιαφέροντα άρθρα...