JS Date Set करना
In this page:
date.setFullYear(year);
date.setMonth(month);
date.setDate(day);
date.setHours(hours);
Year, Month, और Day सेट करना
setFullYear(year), setMonth(month), और setDate(day) हर एक किसी मौजूदा Date object के एक खास हिस्से को बदलता है -- setMonth() अपने getMonth() counterpart जैसा ही zero-indexed convention (January के लिए 0) इस्तेमाल करता है, एक ऐसी बारीकी जिसमें आसानी से चूक हो सकती है।
उदाहरण: Setting the Year, Month, and Day
const date = new Date(2024, 0, 1);
date.setFullYear(2025);
date.setMonth(5); // 0-indexed, 5 = June
date.setDate(15);
console.log(date.toDateString());
Time Components सेट करना
setHours(), setMinutes(), setSeconds(), और setMilliseconds() किसी Date के time-of-day हिस्से को बदलते हैं, ठीक वैसे ही जैसे year/month/day setters उसके calendar हिस्से को बदलते हैं -- यह वही calendar date रखते हुए सिर्फ time adjust करने के लिए उपयोगी है।
उदाहरण: Setting Time Components
// Declare the constant `date` as a new `Date` instance
// Declare the constant `date` as a new `Date` instance
const date = new Date();
// Call `date.setHours(10)`
// Call `date.setHours(10)`
date.setHours(10);
// Call `date.setMinutes(30)`
// Call `date.setMinutes(30)`
date.setMinutes(30);
// Call `date.setSeconds(0)`
// Call `date.setSeconds(0)`
date.setSeconds(0);
// Print `date.toTimeString()` to the console
// Print `date.toTimeString()` to the console
console.log(date.toTimeString());
Relative Dates Calculate करना
एक चालाक pattern एक ही unit के getter और setter को मिलाता है: date.setDate(date.getDate() + 7) current day पढ़कर और उसमें 7 जोड़कर 'आज से एक हफ्ता बाद' calculate करता है, और JavaScript के Date object को किसी भी month या year rollover को अपने आप संभालने देता है।
उदाहरण: Computing Relative Dates
const date = new Date(2024, 0, 28);
date.setDate(date.getDate() + 7); // one week from now, handles rollover
console.log(date.toDateString());
किसी Date को किसी Period की शुरुआत या अंत पर सेट करना
setters को मिलाना आपको किसी date को एक सार्थक boundary पर snap करने देता है -- month की शुरुआत पाने के लिए day को 1 सेट करना, या current month का आखिरी दिन पाने के लिए setMonth(date.getMonth() + 1, 0) इस्तेमाल करना, calendar या reporting features बनाते समय दोनों आम ज़रूरतें हैं।
उदाहरण: Setting a Date to the Start or End of a Period
const date = new Date(2024, 5, 15);
date.setDate(1); // start of the month
console.log(date.toDateString());
const lastDay = new Date(2024, 5, 15);
lastDay.setMonth(lastDay.getMonth() + 1, 0); // last day of the month
console.log(lastDay.toDateString());
Set Methods एक Timestamp Return करते हैं, Date नहीं
हर set method अपनी return value के रूप में Date का नया numeric timestamp (1970 से milliseconds) return करता है, कोई नया Date object नहीं -- original Date instance ही है जो in place बदला गया, और आगे उसी instance का इस्तेमाल होना चाहिए, setter की return value का नहीं।
उदाहरण: Set Methods Return a Timestamp, Not a Date
const date = new Date(2024, 0, 1);
const result = date.setFullYear(2025); // returns a timestamp, not a Date
console.log(typeof result, result);
console.log(date.toDateString()); // use the original instance
- setMonth() कॉल करते समय यह भूल जाना कि JavaScript months zero-indexed हैं (0 = January, 11 = December), लोगों के naturally सोचने वाले calendar month number से एक कम।
- यह मान लेना कि कोई set method एक नया Date object return करता है -- वे सभी existing Date को in place mutate करते हैं और सिर्फ एक timestamp number return करते हैं, कोई नया Date instance नहीं।
- target month की असली length से आगे एक day-of-month value set करना (जैसे सिर्फ 30 days वाले महीने पर setDate(31)), जो error raise करने के बजाय अगले महीने में roll over हो जाता है।
- setFullYear(), setMonth(), setDate(), setHours(), और ऐसे ही methods हर एक किसी existing Date object के एक हिस्से को in place modify करते हैं।
- getMonth() की तरह, setMonth() zero-indexed months इस्तेमाल करता है -- January के लिए 0, December के लिए 11।
- Set methods एक timestamp number return करते हैं, कोई नई Date नहीं -- वही Date object mutate होता है और सीधे इस्तेमाल होता रह सकता है।
सभी Date set methods को JavaScript के सबसे शुरुआती versions से हर browser में support मिला है।
Chapter Quiz — Complete all 26 topics to unlock
0/26 topics done
Complete these topics first:
- JS Dates
- JS Math
- JS Conditionals
- JS Switch
- JS Loop For
- JS Loop While
- JS Iterables
- JS Sets
- JS Maps
- JS typeof
- JS Type Conversion
- JS Destructuring
- JS Arrow Functions
- JS Classes
- JS Modules
- JS Promises
- JS Async/Await
- JS DOM
- JS DOM Methods
- JS Events Advanced
- JS DOM Navigation
- JS DOM Collections
- JS Async Callbacks
- JS Async Parallel
- JS Date Set
- JS Set Logic