دریافت تاریخ (Date Get)
در این بخش با «متدهای دریافت تاریخ» آشنا می شوی. «متد (Method)» یعنی عملیاتی روی شیء. شیء تاریخ، زمان را نگه می دارد اما خودش جلو نمی رود.
ساخت شی تاریخ با new Date()
با new Date() یک شی با تاریخِ الان می سازیم.
const d = new Date();
فهرست متدهای دریافت مهم
چند متد اصلی: getFullYear() سال، getMonth() ماه 0 تا 11، getDate() روز ماه، getDay() روز هفته 0 تا 6، و بقیه برای ساعت، دقیقه و ثانیه.
سال با getFullYear()
سال چهاررقمی را برمی گرداند.
const d = new Date("2021-03-25");
d.getFullYear();
const d = new Date();
d.getFullYear();
هشدار: getYear() قدیمی و ممنوع است. استفاده نکن.
ماه با getMonth()
ماه از 0 شروع می شود؛ ژانویه=0 و دسامبر=11.
const d = new Date("2021-03-25");
d.getMonth();
روز ماه با getDate()
عدد 1 تا 31 را می دهد.
const d = new Date();
d.getDate();
ساعت، دقیقه، ثانیه
به ترتیب با getHours()، getMinutes()، getSeconds() مقدار را می گیری.
const d = new Date();
d.getHours();
d.getMinutes();
d.getSeconds();
میلی ثانیه و مهرزمان (Epoch)
با getMilliseconds() میلی ثانیه، و با getTime() میلی ثانیه از 1970/01/01.
const d = new Date();
d.getMilliseconds();
d.getTime();
نام روز هفته و getDay()
0 یعنی یکشنبه. می توانیم نام روز را از آرایه بخوانیم.
const days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
const d = new Date();
const name = days[d.getDay()];
Date.now() و اختلاف منطقه زمانی
Date.now() یک متد ایستا است؛ میلی ثانیه اکنون را می دهد.
let ms = Date.now();
با getTimezoneOffset() اختلاف دقیقه زمان محلی با UTC را می گیری.
const d = new Date();
const diff = d.getTimezoneOffset();
متدهای UTC
نسخه UTC برای همه متدها وجود دارد؛ مثل getUTCFullYear() و getUTCHours(). این ها مستقل از منطقه زمانی هستند.
گام های عملی
- یک تاریخ بساز و سال، ماه، روز را بخوان.
- نام روز هفته را با آرایه نمایش بده.
- با getTime() و Date.now() مقدارها را مقایسه کن.
- اختلاف منطقه را با getTimezoneOffset() ببین.
جمع بندی سریع
- getFullYear() سال چهاررقمی می دهد.
- getMonth() از صفر شروع می شود.
- getDay() یکشنبه را صفر می گیرد.
- getTime() از 1970 تا الان است.
- نسخه های UTC وابسته به منطقه نیستند.