JavaScript तारीख
उंगली शून्य पर जनवरी रखो, फिर गिनो। फरवरी एक, मार्च दो। दीवार वाले कैलेंडर पर मार्च तीसरा महीना दिखता है, इसीलिए हाथ 3 की तरफ चला जाता है। इस गिनती को एक ही सुबह पर टिकाए रखते हैं: वाचनालय गुरुवार 14 मार्च 2024 को सुबह साढ़े नौ खुला। पन्ना ताज़ा करने पर यह सुबह दूसरी «अभी» में न बदल जाए।
यह खोज नहीं, गिनती है
ऐरे में जवाब कोठरी होती थी, या −1, या हाँ-ना, या खुद मुहर। तारीख उस ढंग से नहीं मिलती। तुम एक क्षण खुद बनाते हो, फिर उससे एक बात पूछते हो। पूछने से घड़ी आगे नहीं बढ़ती।
इसी सुबह की छह संख्याएँ
नाम रटने की सूची मत बनाओ। देखो इस गुरुवार को हर सवाल का अंक क्या है, और बगल वाला अंक कहाँ अदला-बदली हो जाता है।
📊 इस गुरुवार की पर्ची
| तरीका | तुम क्या पूछ रहे हो | इस सुबह का अंक | जो अक्सर बदल जाता है |
|---|---|---|---|
getFullYear |
साल पूरा | 2024 |
उसे 24 लिख देना |
getMonth |
वस्तु के अंदर मार्च कहाँ बैठा है | 2 |
उसे 3 पढ़ लेना |
getDate |
महीने की कौन-सी तारीख | 14 |
गुरुवार का अंक |
getDay |
गुरुवार सप्ताह में कहाँ है | 4 |
महीने की 14 |
getHours |
0 से 23 वाली घड़ी पर घंटा | 9 |
सुबह का अलग चिह्न ढूँढना |
getMinutes |
मिनट | 30 |
30 को घंटे से माँगना |
जनवरी 0 है तो मार्च 2 है। रविवार 0 है तो सोमवार 1, मंगल 2, बुध 3, गुरुवार 4। ऐरे वाला शून्य पहली कोठरी था। ये शून्य साल और हफ्ते की शुरुआत हैं।
पहले साल, महीना अभी नहीं
इस पंक्ति का काम सिर्फ आगे वाला अंक है। 2024 बिना काटे रहता है। दिन, घंटा और मिनट दूसरी पढ़तों के लिए हैं।
let opened = new Date(2024, 2, 14, 9, 30);
console.log(opened.getFullYear());
2024 इसलिए दिखता है क्योंकि वही पहला अंक था। महीने वाला 2 इस पंक्ति में नहीं छपता, पर वस्तु बनते ही उसका मतलब मार्च है। 24 साल का छोटा लिखना है, यह पढ़ना नहीं।
let opened = new Date(2024, 2, 14, 9, 30);
console.log(opened.getMonth());
2 देखकर तुरंत 1 मत जोड़ देना। जनवरी शून्य पर बैठी है, इसलिए यह 2 मार्च ही है। दीवार वाला «तीसरा» तब लिखते हो जब वाक्य किसी की आँख के लिए हो। इस पढ़त में अंक को रहने दो।
let opened = new Date(2024, 2, 14, 9, 30);
console.log(opened.getDate());
console.log(opened.getDay());
14 महीने की तारीख है, 4 गुरुवार है अगर रविवार को शून्य मानो। दोनों एक के बाद एक इसलिए आए क्योंकि तुमने दोनों पूछे। सवाल एक नहीं है। तरीके उलट दिए तो तारीख को वार समझोगे, या वार को तारीख।
let opened = new Date(2024, 2, 14, 9, 30);
console.log(opened.getHours());
console.log(opened.getMinutes());
पहले 9, फिर 30। घंटे आधी रात के 0 से 23 तक चलते हैं, इसलिए यह 9 सुबह है और अलग झंडे की जरूरत नहीं। 30 मिनट है। उसे घंटे से माँगना गलत सुई देखना है।
let opened = new Date(2024, 2, 14, 9, 30);
let visit = new Date(2024, 2, 20, 15, 0);
console.log(visit.getTime() > opened.getTime());
console.log(visit.getDate());
मुलाकात 20 मार्च को तीन बजे दिन में है, यानी उद्घाटन के बाद। getTime हर क्षण को एक ऐसी संख्या बनाता है जिससे पहले-बाद का पता चले, और तुलना true होती है। अगली पंक्ति 20 है, उसी मुलाकात की तारीख। === यह नहीं पूछता कि कौन बाद में है। वह सिर्फ देखता है कि दोनों नाम एक ही वस्तु हैं या दो। यहाँ दो हैं।
वह वाक्य जो कोड न देखने वाला पढ़े
साल और तारीख जैसे हैं वैसे लो। महीना वैसा लिखो जैसा दीवार वाला कैलेंडर गिनता है।
<!DOCTYPE html>
<html>
<head>
<title>dates — page</title>
</head>
<body>
<p id="when">…</p>
<script>
let opened = new Date(2024, 2, 14, 9, 30);
let year = opened.getFullYear();
let displayMonth = opened.getMonth() + 1;
let day = opened.getDate();
let box = document.getElementById("when");
box.textContent = year + "-" + displayMonth + "-" + day;
</script>
</body>
</html>
अनुच्छेद में 2024-3-14 दिखता है। वस्तु से महीना फिर पूछो तो वह अब भी 2 है। आगे बढ़ा हुआ अंक उस वाक्य में है जो आँख पढ़ती है। सहेजी हुई सुबह नहीं हिली।
इसी सुबह को छह जगह जाँचो
अंदाज़ा नहीं, मिलान।
- पूरा साल 2024 है, 24 नहीं
- वस्तु के अंदर मार्च 2 है
- 14
getDateसे आता है और गुरुवार का 4getDayसे - घंटा 9 है और मिनट 30
- बीस तारीख की मुलाकात बाद की है, तुलना true है, और वह दिन 20 है
- अनुच्छेद का वाक्य
2024-3-14है और वस्तु महीना 2 ही रखती है
प्रोग्राम चलता रहता है, तारीख गलत हो जाती है
कोई चेतावनी नहीं आती। बस महीना या अंक वह नहीं रहता जो तुम समझ रहे थे।
- मार्च चाहते हुए
new Dateको 3 देना, जिससे अप्रैल बनता है - 2 को फरवरी पढ़ना, या
getMonthसे 3 माँगना - 14 को
getDayसे माँगना - गुरुवार का 4
getDateसे माँगना - कौन-सा क्षण बाद का है, यह
===से तय करना - बिना अंक
new Date()बुलाना, ताकि हर ताज़ा करने पर दूसरी सुबह आ जाए
पन्ना बंद करने के बाद यही रहना चाहिए
- मार्च 2 है क्योंकि जनवरी 0 है
- महीने की तारीख
getDateहै - वार
getDayहै और रविवार 0 है - दो क्षणों का पहले-बाद
getTimeकी संख्या से पता चलता है - इंसान जो वाक्य पढ़ता है उसमें महीना वस्तु से एक कदम आगे लिखा होता है, और वस्तु 2 पर ही रहती है
- आगे Math वस्तु है
🧠 अपने ज्ञान की परीक्षा करें
अपने ज्ञान की परीक्षा करें
इस इंटरैक्टिव क्विज़ के साथ अपनी चुनौती लें और देखें कि आप विषय को कितनी अच्छी तरह समझते हैं
📝 निर्देश
- हर प्रश्न को ध्यान से पढ़ें
- हर प्रश्न के लिए सबसे अच्छा उत्तर चुनें
- आप जितनी बार चाहें क्विज़ दोबारा दे सकते हैं
- आपकी प्रगति शीर्ष पर दिखाई जाएगी