Date.prototype.setMonth()
الدالة Date.prototype.setMonth()
تعيد الشهر للتاريخ المُحدَّد وفقًا للتوقيت المحلي؛ نذكِّر أنَّ العد يبدأ من 0 (أي أوّل شهر في السنة رقمه 0).
البنية العامة
dateObj.setMonth(monthValue[, dayValue])
في الإصدارات التي تسبق JavaScript 1.3:
dateObj.setMonth(monthValue)
monthValue
عدد صحيح بين 0 و 11، يُمثِّل الأشطر من كانون الثاني/يناير إلى كانون الأول/ديسمبر.
dayValue
وسيطٌ اختياري، وهو عددٌ صحيحٌ من 1 إلى 31، يُمثِّل اليوم في الشهر.
القيمة المعادة
كم ملي ثانية قد مضت بدءًا من 1 January 1970 00:00:00 UTC للتاريخ المعطى (وستُغيّر قيمة الكائن Date
أيضًا).
الوصف
إذا لم تُحدَّد قيمة للمعامل dayValue
، فستُستخدَم القيم المُعادة من الدالة getDate()
.
إذا كانت قيمة الوسيط خارج المجال المسموح، فستُحدِّث الدالة setMonth
الكائن Date
بما يتوافق مع ذلك، أو لو ضبطنا قيمة الوسيط monthValue
إلى 15
، فستزداد السنة بمقدار 1
(أي yearValue + 1
) وستُستخدَم القيمة 3
للشهر.
اليوم الحالي من الشهر له تأثيرٌ على سلوك هذه الدالة، إذ سيُضاف عدد الأيام المضبوطة في كائن Date
إلى الأول من الشهر الجديد المُحدَّد عبر هذه الدالة، وسيُعاد التاريخ الجديد. فمثلًا، إذا كان التاريخ الحالي هو 31 من آب/أغسطس 2016، واستدعينا الدالة setMonth
مع القيمة 1، فالتاريخ المُعاد هو اليوم الثاني من آذار/مارس 2016، ذلك لأنَّ شهر شباط/فبراير في عام 2016 له 29 يومًا.
أمثلة
مثال عن استخدام الدالة setMonth()
:
var theBigDay = new Date();
theBigDay.setMonth(6);
خذ حذرك عند ضبط الشهر دون اليوم، فقد تحصل على سلوكٍ غير متوقع:
var endOfMonth = new Date(2016, 7, 31);
endOfMonth.setMonth(1);
console.log(endOfMonth); // Wed Mar 02 2016 00:00:00
دعم المتصفحات
الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
الدعم الأساسي | نعم | نعم | نعم | نعم | نعم |
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2015 (6th Edition).
- معيار ECMAScript 5.1.
- معيار ECMAScript 1st Edition.