در جاوااسکریپت، وقتی با تاریخها کار میکنیم، گاهی اوقات نیاز به تغییر مقدار ماه در تاریخ هستیم. برای این کار، میتوانیم از متد Date.setMonth
استفاده کنیم. این متد یکی از چندین متدی است که برای تغییر بخشهای مختلف شیء Date
در دسترس است.
فرض کنید یک تاریخ خاص داریم و میخواهیم ماه آن را تغییر دهیم. برای اینکه این کار را انجام دهیم، ابتدا شیء جدیدی از تاریخ ایجاد میکنیم و سپس با استفاده از متد setMonth
ماه آن را به ماه جدید تغییر میدهیم.
یکی از نکات قابلتوجه در استفاده از setMonth
این است که باید دقت کنید که شاخصهای ماه از صفر شروع میشوند، یعنی ژانویه برابر با ۰ و دسامبر برابر با ۱۱ است. این یعنی اگر مقداری خارج از این بازه وارد کنید، جاوااسکریپت به طور خودکار به ماههای بعد یا قبل حرکت میکند.
به عنوان مثال، اگر ماه را به ۱۳ تنظیم کنید، تاریخ بهصورت خودکار به ماه ژانویه سال بعد تغییر میکند. این موضوع کمک بزرگی به برنامهنویسان میکند تا نیازی به محاسبات پیچیده برای تغییر تاریخها نداشته باشند.
همچنین، میتوانید با استفاده از این متد، ماه جدید را به همراه روز مورد نظر خود تعیین کنید. این کار با دادن دومین آرگومان به setMonth
قابل انجام است.
حالا بیایید ببینیم که این متد چگونه کار میکند با استفاده از یک مثال:
<script>
const date = new Date(2023, 0, 15); // 15 January 2023
console.log('Original date: ', date);
date.setMonth(5); // Changing month to June (index 5)
console.log('Date after changing month: ', date);
date.setMonth(11, 1); // Setting month to December (index 11) and day to 1
console.log('Date after setting month and day: ', date);
</script>
در کد بالا:
const date = new Date(2023, 0, 15);
یک شیء Date
برای ۱۵ ژانویه ۲۰۲۳ ایجاد میکند.
console.log('Original date: ', date);
تاریخ اصلی را به کنسول چاپ میکند.
date.setMonth(5);
ماه را به ژوئن تغییر میدهد (شاخص ۵ معادل ژوئن است).
console.log('Date after changing month: ', date);
تاریخ پس از تغییر ماه را به کنسول چاپ میکند.
date.setMonth(11, 1);
ماه و روز را به دسامبر (شاخص ۱۱) و ۱ تغییر میدهد.
console.log('Date after setting month and day: ', date);
تاریخ پس از تنظیم ماه و روز را به کنسول چاپ میکند.