سازنده ()new Date

در JS، شیء تاریخ با استفاده از new Date() ایجاد می‌شوند.

const now = new Date();
document.getElementById("demo").innerHTML = now;

شیء تاریخ دارای متد هایی برای دریافت بخش های مختلف تاریخ و زمان است.

d.getFullYear() دریافت سال در قالب عدد چهار رقمی (yyyyy) d.getMonth() دریافت ماه در قالب عدد (0-11) d.getDate() دریافت روز ماه (1-31) d.getDay() دریافت روز هفته (0-6) d.getHours() دریافت ساعت (0-23) d.getMinutes() دریافت دقیقه (0-59) d.getSeconds() دریافت ثانیه (0-59) d.getMilliseconds() دریافت میلی ثانیه (0-999) d.getTime() دریافت مهر زمانی از شیء تاریخ

نکته: متدهای بالا زمان را بر اساس موقعیت مکانی مرورگر (وقت محلی) را برمی‌گردانند.

متد getFullYear() - دریافت سال

متد getFullYear()، سال را در قالب عدد چهار رقمی برمی گرداند.

const d = new Date("2024-12-07");
d.getFullYear();
const now = new Date();
now.getFullYear();

نکته: کدهای قدیمی جاوا اسکریپت ممکن است از روش غیر استاندارد getYear() استفاده کنند. getYear() باید یک سال دو رقمی را بازگرداند. getYear() منسوخ شده است. از آن استفاده نکنید.

متد getMonth() - دریافت ماه

متد getMonth()، ماه را در قالب عدد تک یا دو رقمی شامل عدد 0-11 باز می‌گرداند.

نکته: متد getMonth، ماه اول (ژانویه) را با 0 و ماه آخر (دسامبر) را با 11 بر می گرداند.

برای نمایش صحیح این متد نتیجه را با یک جمع می کنیم، برای درک بهتر به مثال زیر توجه کنید:

const d = new Date("2024-12-07");
d.getMonth() + 1;
const now = new Date();
now.getMonth() + 1;

 

برای نمایش نام ماه می توانیم، نام تمام ماه ها را در یک آرایه ذخیره و از آن استفاده کنیم.

const months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];

const d = new Date("2024-12-07");
let month = months[d.getMonth()];
const months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];

const now = new Date();
let month = months[now.getMonth()];

متد getDate() - دریافت روز ماه

متد getDate()، روز ماه را در قالب عدد تک یا دو رقمی شامل عدد 1-31 باز می‌گرداند.

const d = new Date("2024-12-07");
d.getDate();
const now = new Date();
now.getDate();

متد getDay() - دریافت روز هفته

متد getDay()، روز هفته را در قالب عدد تک رقمی شامل عدد 0-6 باز می‌گرداند.

نکته: در JavaScript، اولین روز هفته (روز 0) یکشنبه است.

const d = new Date("2024-12-07");
d.getDay();
const now = new Date();
now.getDay();

برای نمایش نام روز می توانیم، نام تمام روزها را در یک آرایه ذخیره و از آن استفاده کنیم.

const days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];

const d = new Date("2024-12-07");
let day = days[d.getDay()];
const days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];

const now = new Date();
let day = days[now.getDay()];

متد getHours() - دریافت ساعت

متد getHours()، ساعت را در قالب عدد تک یا دو رقمی شامل عدد 0-23 باز می‌گرداند.

const d = new Date("2024-12-07 07:25:05");
d.getHours();
const now = new Date();
now.getHours();

متد getMinutes() - دریافت دقیقه

متد getMinutes()، دقیقه را در قالب عدد تک یا دو رقمی شامل عدد 0-59 باز می‌گرداند.

const d = new Date("2024-12-07 07:25:05");
d.getMinutes();
const now = new Date();
now.getMinutes();

متد getSeconds() - دریافت ثانیه

متد getSeconds()، ثانیه را در قالب عدد تک یا دو رقمی شامل عدد 0-59 باز می‌گرداند.

const d = new Date("2024-12-07 07:25:05");
d.getSeconds();
const now = new Date();
now.getSeconds();

متد getMilliseconds() - دریافت میلی ثانیه

متد getMiliseconds()، میلی ثانیه را در قالب عدد تک تا سه رقمی شامل عدد 0-999 باز می‌گرداند.

const d = new Date("2024-12-07 07:25:05.950");
d.getMilliseconds();
const now = new Date();
now.getMilliseconds();

متد getTime() - دریافت مهر زمانی timestamp

با متد ()getTime می توانیم شیء تاریخ را به مهر زمانی تبدیل کنیم.

const d = new Date("1970-01-01");
d.getTime();
const d = new Date("2024-12-07");
d.getTime();
const now = new Date();
now.getTime();

متد Date.now() - دریافت مهر زمانی الان

با متد ()Date.now می توانیم مهر زمانی لحظه فعلی را محاسبه کنیم.

let ms = Date.now();

نکته: متد Date.now() یک متد استاتیک از شیء تاریخ می‌باشد.ما نمی‌توانیم از آن بر روی یک شیء تاریخ مانند myDate.now() استفاده کنید.

متدهای دریافت UTC در JS

متدهای زمان بالا، زمان را بر اساس وقت محلی محاسبه می کنند. از متدهای زیر می توان برای محاسبه زمان UTC نیز استفاده کرد.

متد UTC مشابه توضیحات
getUTCFullYear() getFullYear() دریافت سال در قالب عدد چهار رقمی (yyyyy)
getUTCMonth() getMonth() دریافت ماه در قالب عدد (0-11)
getUTCDate() getDate() دریافت روز ماه (1-31)
getUTCDay() getDay() دریافت روز هفته (0-6)
getUTCHours() getHours() دریافت ساعت (0-23)
getUTCMinutes() getMinutes() دریافت دقیقه (0-59)
getUTCSeconds() getSeconds() دریافت ثانیه (0-59)
getUTCMilliseconds() getMilliseconds() دریافت میلی ثانیه (0-999)

متدهای UTC از زمان UTC استفاده می‌کنند (زمان جهانی هماهنگ).

زمان UTC همان GMT (زمان گرینویچ) است.

تفاوت بین زمان محلی و زمان جهانی ممکن است تا 26 ساعت باشد.

متد getTimezoneOffset()

متد getTimezoneOffset() اختلاف بین زمان محلی و زمان UTC را بر اساس دقیقه برمی‌گرداند.

let diff = d.getTimezoneOffset();

خلاصه درس

در این درس با موارد زیر آشنا شدیم:

  • سازنده ی ()new Date
  • متد های تاریخ
  • روش ()getFullYear
  • روش ()getMonth
  • متد ()getDate
  • متد ()getHours
  • متد ()getSeconds
  • متد ()getMilliseconds
  • متد ()getDay
  • متد ()getTime
  • متد ()Date.now
  • روش های دریافت UTC Date
  • متد ()getTimezoneOffset

توسعه دهندگان
احسان اسلامی