آکادمی بنو/آموزش JavaScript

Date و Time در جاوااسکریپت

بهنام نوبخت · ۱۴۰۵/۷/۱۱

در بسیاری از برنامه‌های واقعی، کار با تاریخ و زمان در جاوااسکریپت اهمیت زیادی دارد. نمایش تاریخ ثبت سفارش، زمان ورود کاربر، محاسبه سن، تعیین تاریخ انقضای یک اشتراک، محاسبه فاصله بین دو تاریخ، ایجاد شمارش معکوس و نمایش زمان ارسال پیام، همگی نمونه‌هایی از کاربرد تاریخ و زمان هستند.

در جاوااسکریپت برای کار با تاریخ و زمان از شیء داخلی Date استفاده می‌کنیم. این شیء امکانات مختلفی برای ایجاد تاریخ، دریافت اجزای تاریخ، تغییر تاریخ، مقایسه تاریخ‌ها و محاسبه فاصله زمانی در اختیار ما قرار می‌دهد.

در این مقاله ابتدا با مفاهیم پایه Date آشنا می‌شویم و سپس به سراغ محاسبات و مثال‌های کاربردی می‌رویم.

Date در جاوااسکریپت چیست؟

Date یک شیء داخلی در جاوااسکریپت است که برای نگهداری و کار با تاریخ و زمان استفاده می‌شود.

برای ساخت یک تاریخ جدید می‌توانیم از ()new Date استفاده کنیم:

const now = new Date();

console.log(now);

خروجی ممکن است چیزی شبیه این باشد:

Sat Sep 19 2026 12:30:15 GMT+0330

مقدار دقیق خروجی به تاریخ، ساعت و منطقه زمانی سیستم شما بستگی دارد.

ایجاد تاریخ با ()new Date

یکی از ساده‌ترین روش‌ها برای ساخت تاریخ، استفاده از ()new Date بدون هیچ آرگومانی است:

const now = new Date();

console.log(now);

در این حالت جاوااسکریپت تاریخ و زمان فعلی سیستم را در اختیار ما قرار می‌دهد.

نمایش تاریخ فعلی

const today = new Date();

console.log(today);

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

ساخت Date از یک تاریخ مشخص

می‌توانیم یک تاریخ مشخص را نیز به Date بدهیم:

const date = new Date("2026-09-19");

console.log(date);

همچنین می‌توانیم تاریخ و زمان را مشخص کنیم:

const date = new Date("2026-09-19T15:30:00");

console.log(date);

استفاده از قالب‌های استاندارد مانند ISO برای نمایش تاریخ معمولاً انتخاب مناسب‌تری نسبت به رشته‌های مبهم است.

ساخت Date با Timestamp

هر تاریخ در جاوااسکریپت می‌تواند به یک مقدار عددی به نام Timestamp تبدیل شود.

Timestamp تعداد میلی‌ثانیه‌هایی است که از یک نقطه زمانی مشخص در تاریخ محاسباتی جاوااسکریپت گذشته است.

مثلاً:

const date = new Date(0);

console.log(date);

مقدار 0 نشان‌دهنده آغاز Unix Time است که برابر با:

January 1, 1970 00:00:00 UTC

است.

برای مثال:

const date = new Date(1000);

console.log(date);

عدد 1000 یعنی هزار میلی‌ثانیه، یعنی یک ثانیه بعد از زمان مبنا.

متد Date.now

برای دریافت Timestamp مربوط به زمان فعلی می‌توانیم از Date.now استفاده کنیم:

const timestamp = Date.now();

console.log(timestamp);

مثلاً ممکن است خروجی چیزی شبیه این باشد:

1789812345678

این مقدار با گذشت زمان تغییر می‌کند.

کاربرد Date.now()

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

const start = Date.now();

for (let i = 0; i < 1000000; i++) {
    // Some operation
}

const end = Date.now();

console.log(end - start);

مقدار خروجی بر حسب میلی‌ثانیه است.

دریافت Timestamp با متد getTime

اگر یک شیء Date داشته باشیم، می‌توانیم با getTime() Timestamp آن را دریافت کنیم:

const date = new Date();

console.log(date.getTime());

بنابراین این دو روش معمولاً نتیجه مشابهی برای زمان فعلی دارند:

Date.now();

و:

new Date().getTime();

دریافت اجزای تاریخ

گاهی به جای کل تاریخ، فقط به یک قسمت خاص مانند سال، ماه یا روز نیاز داریم.

جاوااسکریپت متدهای مختلفی برای این کار دارد.

دریافت سال

const date = new Date();

console.log(date.getFullYear());

مثلاً:

2026

دریافت ماه

برای دریافت ماه از ()getMonth استفاده می‌کنیم:

const date = new Date();

console.log(date.getMonth());

اما یک نکته بسیار مهم وجود دارد.

شماره ماه در جاوااسکریپت از صفر شروع می‌شود.

یعنی:

0  → January
1  → February
2  → March
3  → April
4  → May
5  → June
6  → July
7  → August
8  → September
9  → October
10 → November
11 → December

بنابراین اگر:

console.log(date.getMonth());

مقدار 8 را مشاهده کردید، یعنی ماه September است.

این یکی از رایج‌ترین نکات گیج‌کننده هنگام کار با Date است.

دریافت روز ماه

برای دریافت شماره روز ماه از ()getDate استفاده می‌کنیم:

const date = new Date();

console.log(date.getDate());

اگر امروز نوزدهم ماه باشد، خروجی:

19

خواهد بود.

دریافت روز هفته

برای دریافت روز هفته از getDay() استفاده می‌کنیم:

const date = new Date();

console.log(date.getDay());

مقدار getDay() بین 0 تا 6 است:

0 → Sunday
1 → Monday
2 → Tuesday
3 → Wednesday
4 → Thursday
5 → Friday
6 → Saturday

توجه کنید که getDay() روز هفته را برمی‌گرداند، در حالی که getDate() روز ماه را برمی‌گرداند.

دریافت ساعت و زمان

برای دریافت ساعت:

const date = new Date();

console.log(date.getHours());

برای دریافت دقیقه:

console.log(date.getMinutes());

برای دریافت ثانیه:

console.log(date.getSeconds());

و برای دریافت میلی‌ثانیه:

console.log(date.getMilliseconds());

مثلاً می‌توانیم همه آن‌ها را با هم نمایش دهیم:

const date = new Date();

console.log("Year:", date.getFullYear());
console.log("Month:", date.getMonth());
console.log("Day:", date.getDate());
console.log("Hour:", date.getHours());
console.log("Minute:", date.getMinutes());
console.log("Second:", date.getSeconds());

ساخت تاریخ با سال، ماه و روز

می‌توانیم تاریخ را با استفاده از مقادیر جداگانه نیز ایجاد کنیم:

const date = new Date(2026, 8, 19);

console.log(date);

اما اینجا نیز باید به یک نکته بسیار مهم توجه کنیم:

ماه در constructor نیز از صفر شروع می‌شود.

بنابراین:

new Date(2026, 8, 19);

یعنی:

Year  = 2026
Month = September
Day   = 19

اگر بخواهیم September را مشخص کنیم باید مقدار 8 بدهیم، نه 9.

ساخت تاریخ با ساعت

می‌توانیم ساعت، دقیقه، ثانیه و میلی‌ثانیه را نیز مشخص کنیم:

const date = new Date(2026, 8, 19, 14, 30, 0);

console.log(date);

ترتیب پارامترها به این صورت است:

Year
Month
Day
Hour
Minute
Second
Millisecond

مثلاً:

const date = new Date(2026, 8, 19, 14, 30, 15);

console.log(date);

یعنی تاریخ:

September 19, 2026
14:30:15

تغییر تاریخ موجود

اشیای Date قابل تغییر هستند.

برای تغییر سال می‌توانیم از ()setFullYear استفاده کنیم:

const date = new Date();

date.setFullYear(2030);

console.log(date);

تغییر ماه

date.setMonth(5);

یعنی ماه June، چون شماره‌گذاری از صفر شروع می‌شود.

تغییر روز

date.setDate(25);

تغییر ساعت

date.setHours(18);

تغییر دقیقه

date.setMinutes(45);

تغییر ثانیه

date.setSeconds(30);

مثال کامل

const date = new Date();

date.setFullYear(2030);
date.setMonth(5);
date.setDate(10);
date.setHours(15);
date.setMinutes(20);

console.log(date);

اضافه کردن روز به یک تاریخ

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

مثلاً:

const date = new Date(2026, 8, 19);

date.setDate(date.getDate() + 5);

console.log(date);

در این مثال پنج روز به تاریخ اضافه شده است.

برای اضافه کردن یک روز:

date.setDate(date.getDate() + 1);

برای اضافه کردن هفت روز:

date.setDate(date.getDate() + 7);

برای کم کردن یک روز:

date.setDate(date.getDate() - 1);

این روش در بسیاری از برنامه‌های واقعی کاربرد دارد.

اضافه کردن ماه

به همین شکل می‌توانیم ماه را افزایش دهیم:

const date = new Date();

date.setMonth(date.getMonth() + 1);

console.log(date);

در این مثال یک ماه به تاریخ فعلی اضافه شده است.

اضافه کردن سال

const date = new Date();

date.setFullYear(date.getFullYear() + 1);

console.log(date);

در این مثال یک سال به تاریخ فعلی اضافه شده است.

مقایسه دو تاریخ

از آنجا که تاریخ‌ها را می‌توان به Timestamp تبدیل کرد، مقایسه آن‌ها نیز بسیار ساده می‌شود.

مثلاً:

const date1 = new Date("2026-09-10");
const date2 = new Date("2026-09-20");

if (date1 < date2) {
    console.log("date1 is earlier");
}

یا:

if (date2 > date1) {
    console.log("date2 is later");
}

همچنین می‌توانیم از ()getTime استفاده کنیم:

if (date1.getTime() < date2.getTime()) {
    console.log("date1 is earlier");
}

بررسی برابر بودن دو تاریخ

برای بررسی برابر بودن تاریخ‌ها بهتر است Timestamp آن‌ها را مقایسه کنیم:

const date1 = new Date("2026-09-19");
const date2 = new Date("2026-09-19");

if (date1.getTime() === date2.getTime()) {
    console.log("Dates are equal");
}

توجه کنید که:

date1 === date2

برای دو شیء Date که جداگانه ساخته شده‌اند، معمولاً false خواهد بود، حتی اگر تاریخ یکسانی داشته باشند.

محاسبه فاصله بین دو تاریخ

یکی از کاربردهای مهم Date محاسبه فاصله بین دو تاریخ است.

فرض کنید دو تاریخ داریم:

const startDate = new Date("2026-09-01");
const endDate = new Date("2026-09-19");

const difference = endDate - startDate;

console.log(difference);

نتیجه بر حسب میلی‌ثانیه خواهد بود.

تبدیل میلی‌ثانیه به ثانیه

هر ثانیه:

1000 milliseconds

است.

بنابراین:

const seconds = difference / 1000;

console.log(seconds);

تبدیل به دقیقه

هر دقیقه 60 ثانیه است:

const minutes = difference / (1000 * 60);

console.log(minutes);

تبدیل به ساعت

const hours = difference / (1000 * 60 * 60);

console.log(hours);

تبدیل به روز

هر روز تقریباً:

24 hours

است.

بنابراین:

const days = difference / (1000 * 60 * 60 * 24);

console.log(days);

مثال کامل

const startDate = new Date("2026-09-01");
const endDate = new Date("2026-09-19");

const difference = endDate - startDate;

const days = difference / (1000 * 60 * 60 * 24);

console.log("Difference:", days, "days");

خروجی:

Difference: 18 days

گرد کردن فاصله زمانی

گاهی نتیجه محاسبه دقیقاً یک عدد صحیح نیست.

در این حالت می‌توانیم از Math.floor() استفاده کنیم:

const days = Math.floor(
    difference / (1000 * 60 * 60 * 24)
);

console.log(days);

یا در صورت نیاز از:

Math.ceil()

یا:

Math.round()

استفاده کنیم.

تبدیل تاریخ به String

یکی از ساده‌ترین روش‌های نمایش تاریخ:

const date = new Date();

console.log(date.toString());

است.

این روش تاریخ را به شکل یک رشته متنی نمایش می‌دهد.

toISOString()

برای دریافت تاریخ در قالب ISO می‌توانیم از toISOString() استفاده کنیم:

const date = new Date();

console.log(date.toISOString());

نمونه خروجی:

2026-09-19T09:00:00.000Z

حرف Z در انتهای مقدار نشان‌دهنده UTC است.

toISOString() در ارتباط با APIها و ذخیره تاریخ در سیستم‌های مختلف بسیار کاربردی است.

toLocaleDateString()

برای نمایش تاریخ با قالب محلی می‌توانیم از toLocaleDateString() استفاده کنیم:

const date = new Date();

console.log(date.toLocaleDateString());

همچنین می‌توانیم Locale مشخص کنیم:

console.log(
    date.toLocaleDateString("en-US")
);

یا:

console.log(
    date.toLocaleDateString("en-GB")
);

برای نمایش فارسی نیز می‌توانیم از Locale فارسی استفاده کنیم:

console.log(
    date.toLocaleDateString("fa-IR")
);

نکته مهم این است که Date خودش تاریخ را به تقویم میلادی نگهداری می‌کند، اما روش‌های toLocale... می‌توانند نحوه نمایش را بر اساس Locale تغییر دهند.

متد toLocaleString

اگر هم تاریخ و هم زمان را بخواهیم:

const date = new Date();

console.log(
    date.toLocaleString("fa-IR")
);

این روش برای نمایش اطلاعات به کاربر بسیار مفید است.

مثلاً برای تاریخ ثبت سفارش:

const orderDate = new Date();

console.log(
    "Order date:",
    orderDate.toLocaleString("fa-IR")
);

Local Time و UTC

یکی از مفاهیم مهم در کار با تاریخ، تفاوت بین Local Time و UTC است.

Local Time به زمان محلی سیستم کاربر اشاره دارد.

UTC یک استاندارد زمانی جهانی است که بسیاری از سیستم‌ها و APIها از آن استفاده می‌کنند.

برای دریافت ساعت محلی:

const date = new Date();

console.log(date.getHours());

برای دریافت ساعت UTC:

console.log(date.getUTCHours());

به همین ترتیب متدهای UTC دیگری نیز وجود دارند:

getUTCFullYear()
getUTCMonth()
getUTCDate()
getUTCDay()
getUTCHours()
getUTCMinutes()
getUTCSeconds()

چرا UTC مهم است؟

فرض کنید یک کاربر در ترکیه سفارش ثبت می‌کند و کاربر دیگری در کشور دیگری همان سفارش را مشاهده می‌کند.

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

به همین دلیل در بسیاری از برنامه‌های واقعی، مخصوصاً برنامه‌های دارای کاربر بین‌المللی، تاریخ در سمت سرور یا پایگاه داده با رویکرد UTC مدیریت شده و هنگام نمایش به زمان محلی کاربر تبدیل می‌شود.

مثال کاربردی: نمایش تاریخ فعلی

فرض کنید می‌خواهیم تاریخ امروز را در یک صفحه نمایش دهیم:

const today = new Date();

const year = today.getFullYear();
const month = today.getMonth() + 1;
const day = today.getDate();

console.log(`${year}/${month}/${day}`);

چون ()getMonth از صفر شروع می‌شود، برای نمایش معمولی ماه باید 1 به آن اضافه کنیم.

مثال کاربردی: نمایش ساعت

const now = new Date();

const hours = now.getHours();
const minutes = now.getMinutes();
const seconds = now.getSeconds();

console.log(
    `${hours}:${minutes}:${seconds}`
);

ممکن است خروجی مثلاً به شکل زیر باشد:

14:05:09

مثال کاربردی: اضافه کردن ۳۰ روز به تاریخ

const date = new Date();

date.setDate(date.getDate() + 30);

console.log(date);

این روش می‌تواند برای محاسبه تاریخ انقضای یک اشتراک ساده استفاده شود.

مثلاً:

const startDate = new Date();
const expirationDate = new Date(startDate);

expirationDate.setDate(
    expirationDate.getDate() + 30
);

console.log("Start:", startDate);
console.log("Expiration:", expirationDate);

در این مثال از یک نکته مهم استفاده کردیم:

new Date(startDate)

یک Date جدید ایجاد می‌کند تا تغییر روی expirationDate باعث تغییر مستقیم startDate نشود.

مثال کاربردی: بررسی منقضی شدن اشتراک

فرض کنیم تاریخ پایان اشتراک را داریم:

const expirationDate = new Date("2026-10-01");
const now = new Date();

if (now > expirationDate) {
    console.log("Subscription expired");
} else {
    console.log("Subscription is active");
}

این الگو در سیستم‌های اشتراک، فروشگاه‌ها و سرویس‌های آنلاین بسیار رایج است.

مثال کاربردی: محاسبه سن

می‌توانیم برای محاسبه تقریبی سن از سال فعلی و سال تولد استفاده کنیم:

const birthYear = 1995;
const currentYear = new Date().getFullYear();

const age = currentYear - birthYear;

console.log(age);

البته این روش فقط بر اساس سال محاسبه می‌کند.

برای محاسبه دقیق سن باید ماه و روز تولد نیز بررسی شوند.

یک نسخه دقیق‌تر:

const birthDate = new Date("1995-10-20");
const today = new Date();

let age = today.getFullYear() - birthDate.getFullYear();

const currentMonth = today.getMonth();
const birthMonth = birthDate.getMonth();

if (
    currentMonth < birthMonth ||
    (
        currentMonth === birthMonth &&
        today.getDate() < birthDate.getDate()
    )
) {
    age--;
}

console.log("Age:", age);

در این مثال اگر هنوز روز تولد فرد در سال جاری نرسیده باشد، یک سال از مقدار سن کم می‌کنیم.

مثال کاربردی: شمارش معکوس ساده

فرض کنید یک مهلت داریم:

const deadline = new Date("2026-09-20T18:00:00");
const now = new Date();

const difference = deadline - now;

const hours = Math.floor(
    difference / (1000 * 60 * 60)
);

console.log("Remaining hours:", hours);

در پروژه‌های واقعی می‌توان این مفهوم را توسعه داد و یک Countdown کامل با روز، ساعت، دقیقه و ثانیه ایجاد کرد.

یک تابع برای فرمت کردن تاریخ

برای جلوگیری از تکرار کد می‌توانیم یک تابع ساده ایجاد کنیم:

function formatDate(date) {
    const year = date.getFullYear();
    const month = String(date.getMonth() + 1).padStart(2, "0");
    const day = String(date.getDate()).padStart(2, "0");

    return `${year}-${month}-${day}`;
}

const date = new Date();

console.log(formatDate(date));

ممکن است خروجی:

2026-09-19

باشد.

در این مثال از ()padStart استفاده کرده‌ایم تا مثلاً ماه 5 به شکل:

05

نمایش داده شود.

چرا نباید به فرمت‌های مبهم تاریخ اعتماد کنیم؟

رشته‌هایی مانند:

new Date("09/10/2026");

ممکن است در محیط‌ها یا Localeهای مختلف باعث برداشت متفاوت از تاریخ شوند.

برای مثال مشخص نیست 09/10/2026 به معنی:

September 10

است یا:

October 9

به همین دلیل بهتر است تا حد امکان از قالب‌های استاندارد استفاده کنیم:

new Date("2026-09-10");

یا در موارد مناسب از constructor عددی استفاده کنیم:

new Date(2026, 8, 10);

البته هنگام استفاده از تاریخ‌های رشته‌ای، موضوع Timezone نیز باید در نظر گرفته شود؛ مخصوصاً زمانی که تاریخ فقط به شکل YYYY-MM-DD نوشته شده و ساعت مشخص نشده است.

یک نکته مهم درباره Date و تغییرپذیری

شیء Date قابل تغییر است.

مثلاً:

const date = new Date();

const anotherDate = date;

anotherDate.setFullYear(2030);

console.log(date);

ممکن است مشاهده کنید که date نیز تغییر کرده است.

دلیل این است که هر دو متغیر به همان شیء اشاره می‌کنند.

اگر یک کپی مستقل بخواهیم:

const date = new Date();

const anotherDate = new Date(date);

anotherDate.setFullYear(2030);

console.log(date);
console.log(anotherDate);

در این حالت دو شیء مستقل داریم.

اشتباهات رایج در کار با Date

اشتباه اول: فراموش کردن صفر بودن شماره ماه

اشتباه:

new Date(2026, 9, 19);

اگر هدف شما September باشد، این مقدار اشتباه است.

چون:

9 = October

برای September باید:

new Date(2026, 8, 19);

استفاده شود.

اشتباه دوم: اشتباه گرفتن getDate و getDay

getDate()

روز ماه را برمی‌گرداند.

getDay()

روز هفته را برمی‌گرداند.

اشتباه سوم: مقایسه مستقیم اشیای Date

این روش مناسب نیست:

date1 === date2

بهتر است:

date1.getTime() === date2.getTime()

را استفاده کنیم.

اشتباه چهارم: نادیده گرفتن Timezone

وقتی برنامه شما با کاربران مناطق زمانی مختلف کار می‌کند، نباید تصور کنید تاریخ و ساعت یک کاربر دقیقاً همان چیزی است که کاربر دیگری مشاهده می‌کند.

برای سیستم‌های بین‌المللی باید Local Time و UTC را به‌درستی مدیریت کنید.

اشتباه پنجم: تغییر ناخواسته یک Date

کد زیر:

const expirationDate = startDate;

expirationDate.setDate(
    expirationDate.getDate() + 30
);

در واقع startDate را نیز تغییر می‌دهد.

اگر کپی مستقل می‌خواهیم:

const expirationDate = new Date(startDate);

استفاده می‌کنیم.

خلاصه متدهای مهم Date

متد

کاربرد

new Date()

ایجاد تاریخ فعلی

Date.now()

دریافت Timestamp فعلی

getFullYear()

دریافت سال

getMonth()

دریافت ماه از 0 تا 11

getDate()

دریافت روز ماه

getDay()

دریافت روز هفته

getHours()

دریافت ساعت محلی

getMinutes()

دریافت دقیقه

getSeconds()

دریافت ثانیه

getMilliseconds()

دریافت میلی‌ثانیه

getTime()

دریافت Timestamp

setFullYear()

تغییر سال

setMonth()

تغییر ماه

setDate()

تغییر روز

setHours()

تغییر ساعت

toISOString()

تبدیل به قالب ISO

toLocaleDateString()

نمایش تاریخ با Locale

toLocaleString()

نمایش تاریخ و زمان با Locale

getUTC...()

دریافت اجزای تاریخ بر اساس UTC

تمرین‌ها

تمرین ۱

برنامه‌ای بنویسید که تاریخ و ساعت فعلی را نمایش دهد.

خروجی باید شامل این موارد باشد:

Year
Month
Day
Hour
Minute
Second

تمرین ۲

یک تاریخ مشخص ایجاد کنید و سال، ماه و روز آن را جداگانه چاپ کنید.

تمرین ۳

تاریخ فعلی را دریافت کنید و ۷ روز به آن اضافه کنید.

تمرین ۴

دو تاریخ ایجاد کنید و مشخص کنید کدام تاریخ زودتر است.

تمرین ۵

فاصله بین دو تاریخ را بر حسب روز محاسبه کنید.

تمرین ۶

تابعی به نام:

formatDate()

بنویسید که یک Date دریافت کند و تاریخ را به شکل زیر برگرداند:

YYYY-MM-DD

تمرین ۷

تاریخ انقضای یک اشتراک را در یک متغیر قرار دهید و بررسی کنید که آیا اشتراک منقضی شده است یا خیر.

چالش عملی

یک برنامه ساده برای محاسبه زمان باقی‌مانده تا یک Deadline ایجاد کنید.

برنامه باید:

  1. تاریخ فعلی را دریافت کند.

  2. یک تاریخ Deadline داشته باشد.

  3. فاصله بین زمان فعلی و Deadline را محاسبه کند.

  4. مقدار باقی‌مانده را بر حسب:

    • روز

    • ساعت

    • دقیقه

    • ثانیه
      نمایش دهد.

  5. اگر Deadline گذشته بود، پیام مناسبی نمایش دهد.

برای مثال:

Time Remaining:
2 Days
5 Hours
20 Minutes
15 Seconds

جمع‌بندی

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

مهم‌ترین موضوعاتی که یاد گرفتیم عبارت‌اند از:

  • ساخت تاریخ با new Date()

  • دریافت زمان فعلی با Date.now()

  • کار با Timestamp

  • دریافت سال، ماه، روز و زمان

  • تغییر اجزای تاریخ

  • اضافه و کم کردن روز، ماه و سال

  • مقایسه دو تاریخ

  • محاسبه فاصله بین تاریخ‌ها

  • تبدیل میلی‌ثانیه به ثانیه، دقیقه، ساعت و روز

  • استفاده از toISOString()

  • استفاده از toLocaleDateString() و toLocaleString()

  • تفاوت Local Time و UTC

  • نکات مهم مربوط به Timezone

  • محاسبه سن و زمان باقی‌مانده

  • جلوگیری از تغییر ناخواسته اشیای Date

یکی از مهم‌ترین نکاتی که باید همیشه به خاطر داشته باشید این است که ماه در جاوااسکریپت از صفر شروع می‌شود:

January  = 0
February = 1
...
December = 11

همچنین در پروژه‌های واقعی باید هنگام کار با تاریخ‌های بین‌المللی، Timezone و UTC را جدی بگیریم.

۰۰

نظرات

کد در دسترس نیست

هنوز نظری ثبت نشده است.