ورودی تاریخ جاوا اسکریپت
به طور کلی 3 نوع قالب ورودی تاریخ JavaScript وجود دارد:
قالب ISO از استاندارد سختگیرانه JavaScript پیروی می کند.
قالب های دیگر به خوبی تعریف نشده اند و ممکن است مخصوص مرورگر باشند.
JavaScript تاریخ خروجی
مستقل از قالب ورودی ، جاوا اسکریپت (به طور پیش فرض) تاریخ ها را در قالب رشته متن کامل صادر می کند:
Wed Mar 25 2015 04:30:00 GMT+0430 (Iran Daylight Time)
تاریخ های ISO JavaScript
ISO 8601 استاندارد بین المللی برای نمایش تاریخ و زمان است.
نحو ISO 8601 (YYYY-MM-DD) نیز قالب تاریخ ترجیحی جاوا اسکریپت است:
مثال (تاریخ کامل)
const d = new Date("2015-03-25");
تاریخ محاسبه شده مربوط به منطقه زمانی شما خواهد بود.
بسته به منطقه زمانی شما ، نتیجه فوق بین 24 مارس و 25 مارس متفاوت خواهد بود.
تاریخ های ISO (سال و ماه)
تاریخ های ISO را می توان بدون تعیین روز (YYYY-MM) نوشت:
مثال
const d = new Date("2015-03");
مناطق زمانی در نتیجه فوق بین 28 فوریه تا 01 مارس متفاوت خواهد بود.
تاریخ های ISO (فقط سال)
تاریخ های ISO را می توان بدون ماه و روز نوشت (YYYY):
مثال
const d = new Date("2015");
مناطق زمانی در نتیجه فوق بین 31 دسامبر 2014 و ژانویه 01 2015 تغییر خواهند کرد.
تاریخ های ISO (تاریخ-زمان)
تاریخ های ISO را می توان با ساعت ، دقیقه و ثانیه اضافه کرد (YYYY-MM-DDTHH: MM: SSZ):
مثال
const d = new Date("2015-03-25T12:00:00Z");
UTC (زمان جهانی هماهنگ) همان GMT (زمان متوسط گرینویچ) است.
حذف T یا Z در یک رشته تاریخ-زمان می تواند نتایج متفاوتی را در مرورگرهای مختلف ایجاد کند.
محدوده های زمانی
هنگام تعیین تاریخ ، بدون تعیین منطقه زمانی ، JavaScript از منطقه زمانی مرورگر استفاده می کند.
هنگام دریافت تاریخ ، بدون تعیین منطقه زمانی ، نتیجه به منطقه زمانی مرورگر تبدیل می شود.
به عبارت دیگر: اگر یک تاریخ / زمان در GMT (زمان گرینویچ) ایجاد شود ، در صورت مشاهده کاربر از مرکز ایالات متحده ، تاریخ / زمان به CDT (ساعت تابستانی مرکزی ایالات متحده) تبدیل می شود.
تاریخ کوتاه JavaScript.
تاریخ های کوتاه با این جمله “MM / DD / YYYY” نوشته می شوند:
مثال
const d = new Date("03/25/2015");
هشدارها
در بعضی از مرورگرها ، ماهها یا روزها بدون صفر اصلی ممکن است خطایی ایجاد کنند:
const d = new Date("2015-3-25");
رفتار “YYYY / MM / DD” تعریف نشده است.
برخی از مرورگرها سعی می کنند قالب را حدس بزنند. بعضی ها NaN را برمی گردانند.
const d = new Date("2015/03/25");
رفتار “DD-MM-YYYY” نیز تعریف نشده است.
برخی از مرورگرها سعی می کنند قالب را حدس بزنند. بعضی ها NaN را برمی گردانند.
const d = new Date("25-03-2015");
تاریخ های طولانی جاوا اسکریپت.
تاریخ های طولانی اغلب با یک جمله “MMM DD YYYY” مانند این نوشته می شوند:
مثال
const d = new Date("Mar 25 2015");
ماه و روز به هر ترتیب ممکن است:
مثال
const d = new Date("25 Mar 2015");
و ، ماه را می توان به طور کامل (ژانویه) ، یا به طور خلاصه (ژانویه) نوشت:
مثال
const d = new Date("January 25 2015");
مثال
const d = new Date("Jan 25 2015");
ویرگول ها نادیده گرفته می شوند. نام ها به حروف بزرگ حساس نیستند:
مثال
const d = new Date("JANUARY, 25, 2015");
تاریخ ورود – تجزیه تاریخ ها
اگر رشته تاریخ معتبری دارید ، می توانید از Date.parse()
روش تبدیل آن به میلی ثانیه استفاده کنید.
Date.parse()
تعداد میلی ثانیه بین تاریخ و اول ژانویه 1970 را برمی گرداند:
مثال
let msec = Date.parse("March 21, 2012"); document.getElementById("demo").innerHTML = msec;
سپس می توانید از تعداد میلی ثانیه برای تبدیل آن به یک شی تاریخ استفاده کنید:
مثال
let msec = Date.parse("March 21, 2012"); const d = new Date(msec); document.getElementById("demo").innerHTML = d;