تاریخ و روزها در جاوااسکریپت

javascript date getday method
11 آذر 1403

بسیاری مواقع پیش می‌آید که در برنامه‌های مختلف نیاز داریم تا با تاریخ و زمان کار کنیم. یکی از نیازهای رایج این است که بفهمیم امروز چه روزی از هفته است. در جاوااسکریپت، با استفاده از آبجکت Date می‌توان این کار را به ساده‌ترین شکل انجام داد. اما باید دقت کرد که متدهای کار با تاریخ در جاوااسکریپت ممکن است به ظاهر پیچیده به‌نظر برسند.

متد getDay() یکی از متدهای مفید برای کار با تاریخ است که این امکان را به ما می‌دهد تا شماره روز هفته را بدست آوریم. این متد، ارگومان یا پارامتری دریافت نمی‌کند و خروجی آن نیز به صورت عددی از ۰ (برای یکشنبه) تا ۶ (برای شنبه) است.

موقعی که می‌خواهیم از این متد استفاده کنیم، ابتدا باید یک آبجکت Date ایجاد کنیم. سپس با استفاده از متد getDay()، می‌توانیم شماره روز کنونی را به سادگی دریافت کنیم. توجه داشته باشید که این شماره برای زبان‌ها و تقویم‌های مختلف ممکن است کمی متفاوت باشد، اما برای کاربردهای عمومی روش استانداری است.

به عنوان مثال، برای نمایش نام روز هفته با استفاده از خروجی getDay()، می‌توان یک آرایه شامل نام روزهای هفته ایجاد کرد و بر اساس شماره بازگردانده شده از متد getDay()، نام متناسب را از آرایه بازیابی کرد.

در نهایت، اگر نیاز به تبدیل تاریخ یا کار با زمان در پروژه‌هایتان دارید، می‌توانید از کتابخانه‌های پرکاربردی مانند Moment.js یا date-fns نیز استفاده کنید تا کارتان راحت‌تر شود و امکانات بیشتری در اختیار داشته باشید.

نمونه کد:


    <script>
      const currentDate = new Date();
      const dayNumber = currentDate.getDay();
      const weekDays = ["یکشنبه", "دوشنبه", "سه‌شنبه", "چهارشنبه", "پنج‌شنبه", "جمعه", "شنبه"];
      console.log("امروز: " + weekDays[dayNumber]);
    </script>
  

توضیحات کد:

const currentDate = new Date();
یک آبجکت جدید Date برای نگهداری تاریخ و زمان کنونی ایجاد می‌کند.
const dayNumber = currentDate.getDay();
از متد getDay() استفاده می‌کند تا شماره روز هفته را به‌دست آورد.
const weekDays = ["یکشنبه", "دوشنبه", "سه‌شنبه", "چهارشنبه", "پنج‌شنبه", "جمعه", "شنبه"];
آرایه‌ای شامل نام روزهای هفته به زبان فارسی.
console.log("امروز: " + weekDays[dayNumber]);
نام روز هفته‌ای را که امروز هست، در کنسول نمایش می‌دهد.

سوالات متداول

؟

متد getDay() چه عددهایی به عنوان خروجی می‌دهد؟

؟

چگونه می‌توان روز هفته را به زبان فارسی نمایش داد؟

؟

آیا برای کارهای پیچیده‌تر با تاریخ در جاوااسکریپت ابزارهای دیگری وجود دارد؟