Υπάρχουν γενικά 3 τύποι μορφών εισαγωγής ημερομηνίας JavaScript:
"2015-03-25" (Το Διεθνές Πρότυπο)
"25/03/2015"
"25 Μαρ 2015" ή "25 Μαρ 2015"
Η μορφή ISO ακολουθεί αυστηρά πρότυπα σε JavaScript.
Οι άλλες μορφές δεν είναι τόσο καλά καθορισμένο και μπορεί να είναι συγκεκριμένο για το πρόγραμμα περιήγησης.
Ανεξάρτητα από τη μορφή εισόδου, η JavaScript θα (από προεπιλογή) εξάγει πλήρως τις ημερομηνίες μορφή συμβολοσειράς κειμένου:
Το ISO 8601 είναι το διεθνές πρότυπο για την αναπαράσταση ημερομηνιών και φορές.
Η σύνταξη ISO 8601 (ΕΕΕΕ-ΜΜ-ΗΗ) είναι επίσης η προτιμώμενη μορφή ημερομηνίας JavaScript:
const d = new Date("2015-03-25");
Δοκιμάστε το μόνοι σας →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript ISO Dates</h2>
<p id="demo"></p>
<script>
const d = new Date("2015-03-25");
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
Η υπολογισμένη ημερομηνία θα είναι σχετική με τη ζώνη ώρας σας.
Ανάλογα με τη ζώνη ώρας σας, το αποτέλεσμα παραπάνω θα ποικίλλει μεταξύ 24 Μαρτίου και 25 Μαρτίου.
Οι ημερομηνίες ISO μπορούν να γραφτούν χωρίς να προσδιορίζεται η ημέρα (ΕΕΕΕ-ΜΜ):
const d = new Date("2015-03");
Δοκιμάστε το μόνοι σας →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript ISO Dates</h2>
<p id="demo"></p>
<script>
const d = new Date("2015-03");
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
Οι ζώνες ώρας θα διαφέρουν το παραπάνω αποτέλεσμα μεταξύ 28 Φεβρουαρίου και 01 Μαρτίου.
Οι ημερομηνίες ISO μπορούν να γραφτούν χωρίς μήνα και ημέρα (ΕΕΕΕ):
const d = new Date("2015");
Δοκιμάστε το μόνοι σας →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript ISO Dates</h2>
<p id="demo"></p>
<script>
const d = new Date("2015");
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
Οι ζώνες ώρας θα διαφέρουν το παραπάνω αποτέλεσμα μεταξύ 31 Δεκεμβρίου 2014 και 01 Ιανουαρίου 2015.
Οι ημερομηνίες ISO μπορούν να γραφτούν με πρόσθετες ώρες, λεπτά και δευτερόλεπτα (ΕΕΕΕ-ΜΜ-ΗΗΗΗ:ΜΜ:ΔΣΖ):
const d = new Date("2015-03-25T12:00:00Z");
Δοκιμάστε το μόνοι σας →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript ISO Dates</h2>
<p>Separate date and time with a capital T.</p>
<p>Indicate UTC time with a capital Z.</p>
<p id="demo"></p>
<script>
const d = new Date("2015-03-25T12:00:00Z");
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
Η ημερομηνία και η ώρα χωρίζονται με κεφαλαίο Τ.
Η ώρα UTC ορίζεται με κεφαλαίο γράμμα Z.
Εάν θέλετε να τροποποιήσετε την ώρα σε σχέση με το UTC, αφαιρέστε το Z και προσθέστε +ΩΩ:ΛΛ ή -ΩΩ:ΛΛ αντι αυτου:
const d = new Date("2015-03-25T12:00:00-06:30");
Δοκιμάστε το μόνοι σας →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript ISO Dates</h2>
<p>Modify the time relative to UTC by adding +HH:MM or subtraction -HH:MM to the time.</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML =
new Date("2015-03-25T12:00:00-06:00");
</script>
</body>
</html>
Το UTC (Συντονισμένη Παγκόσμια Ώρα) είναι το ίδιο με το GMT (Μέση ώρα Γκρίνουιτς).
Η παράλειψη T ή Z σε μια συμβολοσειρά ημερομηνίας-ώρας μπορεί να δώσει διαφορετικά αποτελέσματα σε διαφορετικά προγράμματα περιήγησης.
Όταν ορίζετε μια ημερομηνία, χωρίς να καθορίσετε τη ζώνη ώρας, θα χρησιμοποιείται η JavaScript ζώνη ώρας του προγράμματος περιήγησης.
Όταν λαμβάνετε μια ημερομηνία, χωρίς να προσδιορίσετε τη ζώνη ώρας, το αποτέλεσμα είναι μετατράπηκε στη ζώνη ώρας του προγράμματος περιήγησης.
Με άλλα λόγια: Εάν δημιουργηθεί μια ημερομηνία/ώρα σε GMT (Μέση ώρα Γκρίνουιτς), η Η ημερομηνία/ώρα θα μετατραπεί σε CDT (Κεντρική θερινή ώρα ΗΠΑ) εάν κάποιος χρήστης κάνει περιήγηση από τις κεντρικές ΗΠΑ.
Οι σύντομες ημερομηνίες γράφονται με μια σύνταξη "ΜΜ/ΗΗ/ΕΕΕΕ" ως εξής:
const d = new Date("03/25/2015");
Δοκιμάστε το μόνοι σας →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p id="demo"></p>
<script>
const d = new Date("03/25/2015");
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
Σε ορισμένα προγράμματα περιήγησης, μήνες ή ημέρες χωρίς μηδενικά στην αρχή μπορεί να προκαλέσουν ένα σφάλμα:
const d = new Date("2015-3-25");
Η συμπεριφορά του "ΕΕΕΕ/ΜΜ/ΗΗ" δεν έχει καθοριστεί.
Μερικά προγράμματα περιήγησης θα προσπαθήστε να μαντέψετε τη μορφή. Κάποιοι θα επιστρέψουν NaN.
const d = new Date("2015/03/25");
Η συμπεριφορά του "ΗΗ-ΜΜ-ΕΕΕΕ" είναι επίσης απροσδιόριστη.
Μερικά προγράμματα περιήγησης θα το κάνουν. προσπαθήστε να μαντέψετε τη μορφή. Κάποιοι θα επιστρέψουν NaN.
const d = new Date("25-03-2015");
Οι μεγάλες ημερομηνίες γράφονται συνήθως με μια σύνταξη "MMM DD YYYY" όπως αυτή:
const d = new Date("Mar 25 2015");
Δοκιμάστε το μόνοι σας →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p id="demo"></p>
<script>
const d = new Date("Mar 25 2015");
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
Ο μήνας και η ημέρα μπορούν να είναι με οποιαδήποτε σειρά:
const d = new Date("25 Mar 2015");
Δοκιμάστε το μόνοι σας →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p id="demo"></p>
<script>
const d = new Date("25 Mar 2015");
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
Και, ο μήνας μπορεί να γραφτεί ολόκληρος (Ιανουάριος) ή συντομογραφία (Ιανουάριος):
const d = new Date("January 25 2015");
Δοκιμάστε το μόνοι σας →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p id="demo"></p>
<script>
const d = new Date("January 25 2015");
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
const d = new Date("Jan 25 2015");
Δοκιμάστε το μόνοι σας →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p id="demo"></p>
<script>
const d = new Date("Jan 25 2015");
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
Τα κόμματα αγνοούνται. Τα ονόματα δεν κάνουν διάκριση πεζών-κεφαλαίων:
const d = new Date("JANUARY, 25, 2015");
Δοκιμάστε το μόνοι σας →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p id="demo"></p>
<script>
const d = new Date("JANUARY, 25, 2015");
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
Εάν έχετε έγκυρη συμβολοσειρά ημερομηνίας, μπορείτε να χρησιμοποιήσετε το Μέθοδος Date.parse()
για να τη μετατρέψετε σε χιλιοστά του δευτερολέπτου.
Date.parse()
επιστρέφει τον αριθμό των χιλιοστών του δευτερολέπτου μεταξύ της ημερομηνίας και του Ιανουαρίου 1, 1970:
let msec = Date.parse("March 21, 2012");
Δοκιμάστε το μόνοι σας →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Date.parse()</h2>
<p>Date.parse() returns the number of milliseconds between the date and January 1, 1970:</p>
<p id="demo"></p>
<script>
const msec = Date.parse("March 21, 2012");
document.getElementById("demo").innerHTML = msec;
</script>
</body>
</html>
Στη συνέχεια, μπορείτε να χρησιμοποιήσετε τον αριθμό των χιλιοστών του δευτερολέπτου για να το μετατρέψετε σε αντικείμενο ημερομηνίας:
let msec = Date.parse("March 21, 2012");
const d = new Date(msec);
Δοκιμάστε το μόνοι σας →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Date.parse()</h2>
<p>Date.parse(string) returns milliseconds.</p>
<p>You can use the return value to convert the string to a date object:</p>
<p id="demo"></p>
<script>
let msec = Date.parse("March 21, 2012");
const d = new Date(msec);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
Για μια πλήρη αναφορά ημερομηνίας, μεταβείτε στη διεύθυνση μας:
Συμπληρώστε την αναφορά ημερομηνίας JavaScript.
Η αναφορά περιέχει περιγραφές και παραδείγματα όλων των ιδιοτήτων Ημερομηνίας και μεθόδους.