امروز قصد داریم در رابطه با متدهای تعیین تاریخ در جاوا اسکریپت صحبت کنیم. برخی از اوقات نیاز داریم تا تاریخ را خودمان تعیین کنیم و در چنین موقعیت هایی این توابع و توابع جلسه ی قبل نیاز اصلی ما خواهند بود.
جدول زیر نشان دهنده ی معروف ترین متدهای مربوط به تعیین تاریخ در جاوا اسکریپت است. توجه داشته باشید که دریافت (get) در مقابل تعیین یا تنظیم کردن (set) است. متدهای مربوط به دریافت تاریخ را در جلسه ی قبل مرور کرده ایم، در صورت نیاز به آن مراجعه کنید.
تعیین روز به صورت یک شماره (31-1) | ()setDate |
تعیین سال کامل (چهار رقمی) | ()setFullYear |
تعیین ساعت (23-0) | ()setHours |
تعیین میلی ثانیه (999-0) | ()setMilliseconds |
تعیین دقیقه (59-0) | ()setMinutes |
تعیین ماه (11-0) | ()setMonth |
تعیین ثانیه (59-0) | ()setSeconds |
تعیین زمان(در واحد میلیثانیه، سپری شده از 1 ژانویه 1970) | ()setTime |
این متد سال مورد نظر ما را به صورت عدد چهار رقمی تعیین می کند:
<!DOCTYPE html> <html> <body> <h2>JavaScript setFullYear()</h2> <p>The setFullYear() method sets the year of a date object:</p> <p id="demo"></p> <script> var d = new Date(); d.setFullYear(2020); document.getElementById("demo").innerHTML = d; </script> </body> </html>
خروجی این کد به شرح زیر خواهد بود:
Mon Feb 03 2020 18:29:43 GMT+0330 (Iran Standard Time)
نکته: این متد می تواند در صورت نیاز ماه و روز را نیز تعیین کند:
<!DOCTYPE html> <html> <body> <h2>JavaScript setFullYear()</h2> <p>The setFullYear() method can optionally set month and day.</p> <p>Please note that month counts from 0. December is month 11:</p> <p id="demo"></p> <script> var d = new Date(); d.setFullYear(2020, 11, 3); document.getElementById("demo").innerHTML = d; </script> </body> </html>
خروجی این کد به شرح زیر خواهد بود:
Thu Dec 03 2020 18:33:40 GMT+0330 (Iran Standard Time)
این متد ماه مورد نظر ما را به صورت عددی بین 0 تا 11 تعیین می کند:
<!DOCTYPE html> <html> <body> <h2>JavaScript setMonth()</h2> <p>The setMonth() method sets the mont of a date object.</p> <p>Note that months count from 0. December is month 11:</p> <p id="demo"></p> <script> var d = new Date(); d.setMonth(11); document.getElementById("demo").innerHTML = d; </script> </body> </html>
خروجی برخی از کد های این جلسه به زمان بستگی دارد و همراه آن جلو می رود بنابراین خروجی چنین مثال هایی را تنها می توان با ادیتور آنلاین جاوا اسکریپت مشاهده کرد.
مشاهده ی خروجی کد در ادیتور آنلاین جاوا اسکریپت
این متد روز را به صورت عددی بین 0 تا 31 تعیین می کند:
<!DOCTYPE html> <html> <body> <h2>JavaScript setDate()</h2> <p>The setDate() method sets the day of a date object:</p> <p id="demo"></p> <script> var d = new Date(); d.setDate(15); document.getElementById("demo").innerHTML = d; </script> </body> </html>
مشاهده ی خروجی کد در ادیتور آنلاین جاوا اسکریپت
نکته: شما می توانید از متد ()setDate برای اضافه کردن روز به یک تاریخ خاص استفاده کنید. مثال:
<!DOCTYPE html> <html> <body> <h2>JavaScript setDate()</h2> <p>The setDate() method can be used to add days to a date.</p> <p id="demo"></p> <script> var d = new Date(); d.setDate(d.getDate() + 50); document.getElementById("demo").innerHTML = d; </script> </body> </html>
کد بالا ابتدا تاریخ کنونی را می گیرد و سپس 50 روز به آن اضافه می کند.
سوال: اگر اضافه کردن روز ها، باعث تغییر ماه یا سال شود چه اتفاقی رخ خواهد داد؟
پاسخ: اگر چنین اتفاقی بیوفتد و به طور مثال روز هایی که اضافه کرده اید از 30 اُم یا 31 اُم ماهی بیشتر باشند، جاوا اسکریپت تمام تغییرات را به صورت خودکار تنظیم خواهد کرد بنابراین جای نگرانی نیست.
مشاهده ی خروجی کد در ادیتور آنلاین جاوا اسکریپت
این متد ساعت مورد نظر از یک تاریخ خاص را برای ما تعیین می کند:
<!DOCTYPE html> <html> <body> <h2>JavaScript setHours()</h2> <p>The setHours() method sets the hours of a date object:</p> <p id="demo"></p> <script> var d = new Date(); d.setHours(22); document.getElementById("demo").innerHTML = d; </script> </body> </html>
مشاهده ی خروجی کد در ادیتور آنلاین جاوا اسکریپت
این متد دقیقه ی یک تاریخ خاص را برای ما تعیین می کند:
<!DOCTYPE html> <html> <body> <h2>JavaScript setMinutes()</h2> <p>The setMinutes() method sets the minutes of a date object (0-59):</p> <p id="demo"></p> <script> var d = new Date(); d.setMinutes(30); document.getElementById("demo").innerHTML = d; </script> </body> </html>
مشاهده ی خروجی کد در ادیتور آنلاین جاوا اسکریپت
این متد ثانیه ی یک تاریخ خاص را برای ما تعیین می کند:
<!DOCTYPE html> <html> <body> <h2>JavaScript setSeconds()</h2> <p>The setSeconds() method sets the seconds of a date object (0-59):</p> <p id="demo"></p> <script> var d = new Date(); d.setSeconds(30); document.getElementById("demo").innerHTML = d; </script> </body> </html>
مشاهده ی خروجی کد در ادیتور آنلاین جاوا اسکریپت
مقایسه ی تاریخ ها در جاوا اسکریپت کار بسیار آسانی است. مثال زیر، تاریخ کنونی را گرفته و با تاریخ 14 ژانویه ی سال 2100 میلادی مقایسه می کند:
<!DOCTYPE html> <html> <body> <p id="demo" dir="rtl"></p> <script> var today, someday, text; today = new Date(); someday = new Date(); someday.setFullYear(2100, 0, 14); if (someday > today) { text = "ما هنوز به 14 ژانویه ی سال 2100 نرسیده ایم!"; } else { text = "ما 14 ژانویه ی سال 2100 را پشت سر گذاشته ایم"; } document.getElementById("demo").innerHTML = text; </script> </body> </html>
مشاهده ی خروجی کد در ادیتور آنلاین جاوا اسکریپت
باید در رابطه با این کد توضیحاتی را خدمتتان ارائه کنم:
امیدوارم از این قسمت لذت برده باشید. بهتر است این متدها را چندین بار تمرین کنید تا در آینده نیازی به برگشتن به این مقاله نداشته باشید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.