قالب های تاریخ (Date Formats)
اینجا با «قالب های تاریخ جاوااسکریپت» آشنا می شوی. قالب یعنی شکل نوشتن تاریخ. فرمت ISO قانون مند است؛ بقیه گاهی مبهم اند.
ورودی تاریخ در جاوااسکریپت
سه مدل ورودی داریم: ISO، کوتاه، و بلند. ISO دقیق تر است.
خروجی پیش فرض تاریخ
خروجی پیش فرض یک رشته کامل است. زمان محلی را نشان می دهد.
const d = new Date();
const s = d.toString();
تاریخ های ISO (استاندارد)
ISO 8601 استاندارد جهانی است. قالب پایه YYYY-MM-DD است.
const d = new Date("2015-03-25");
نکته: منطقه زمانی می تواند روز را جابه جا کند.
ISO بدون روز و ماه
می توان فقط سال ماه یا فقط سال نوشت.
const ym = new Date("2015-03");
const y = new Date("2015");
ISO با زمان و منطقه
حرف T جداکننده تاریخ زمان است. Z یعنی زمان UTC.
const z = new Date("2015-03-25T12:00:00Z");
const off = new Date("2015-03-25T12:00:00-06:30");
هشدار: حذف T یا Z نتایج متفاوتی در مرورگرها می دهد.
مناطق زمانی (Time Zones)
بدون تعیین منطقه، مرورگر از منطقه خودش استفاده می کند. دریافت نیز محلی می شود.
تاریخ کوتاه (Short Date)
قالب MM/DD/YYYY است. این قالب آمریکایی است.
const d = new Date("03/25/2015");
هشدارها درباره قالب ها
ماه یا روز بدون صفر پیشرو ممکن است خطا بدهد.
const bad1 = new Date("2015-3-25");
رفتار YYYY/MM/DD تعریف نشده است. برخی حدس می زنند.
const bad2 = new Date("2015/03/25");
رفتار DD-MM-YYYY هم تعریف نشده است. ممکن است NaN برگردد.
const bad3 = new Date("25-03-2015");
تاریخ بلند (Long Date)
نام ماه می آید. ترتیب روز و ماه آزاد است.
const a = new Date("Mar 25 2015");
const b = new Date("25 Mar 2015");
const c = new Date("January 25 2015");
const d = new Date("Jan 25 2015");
const e = new Date("JANUARY, 25, 2015");
تبدیل رشته به میلی ثانیه (parse)
با Date.parse() میلی ثانیه می گیری. سپس شی تاریخ می سازی.
let msec = Date.parse("March 21, 2012");
const d2 = new Date(msec);
گام های عملی
- یک تاریخ ISO بساز.
- همان تاریخ را با منطقه مختلف تست کن.
- یک تاریخ کوتاه و بلند بساز.
- نمونه های هشدار را بررسی کن.
- با parse یک تاریخ تبدیل کن.
جمع بندی سریع
- ISO مطمئن ترین قالب ورودی است.
- T جداکننده تاریخ زمان است.
- Z یعنی زمان UTC استاندارد.
- قالب های مبهم نتیجه مختلف می دهند.
- parse عدد میلی ثانیه برمی گرداند.
تاریخ ها در جاوااسکریپت | متدهای تاریخ | قالب های تاریخ جاوااسکریپت