بطور كلي سه نوع ورودي براي تاريخ جاوااسكريپت وجود دارد .مطابق جدول زير:
نوع | مثال نمونه |
---|---|
ISO Date | "2015-03-25" استاندارد جهاني |
Short Dtae تاريخ فرم كوتاه | "03/25/2015" |
Long Date تاريخ فرم بلند | "Mar 25 2015"or "25 Mar 2015" |
فرمت ايزو در جاوااسكريپت با استاندارد سخت گيرانه تري دنبال مي شود.
فرمت هاي ديگر بخوبي تعريف نشده اند، ممكن است مختص مرور گرها باشند.
مستقل از ورودي تاريخ ، جاوااسكريپت بصورت پيش فرض خروجي تاريخ را بصورت رشته اي كامل براي مرورگر ارائه ميدهد.
Fri Nov 17 2023 16:19:16 GMT+0330 (Iran Standard Time)ايزو8601 يك استاندارد جهاني براي ارائه فرمت تاريخ وزمان است .
فرمت ايزو8601 در جاوااسكريپت با قالب ترجيحي (YYYY-MM-DD)است.
مثال ـ تاريخ كامل
const d = new Date("2015-03-25");
تاريخ محاسبه نسبت به منطقه زماني ميباشد، بستگي به منطقه زماني بين24 مارس و25مارس ميباشد.
تاريخهاي ايزو ميتوانند بدون روز با فرمت(YYYY-MM) باشند .
مثال ـ تاريخ با فرمتYYYY-MM
const d = new Date("2015-03");
با توجه به منطقه زماني نتايج متفاوت خواهد داشت . بين28 فوريه و 01 مارس
تاريخ فرمت ايزو ميتواند در قالب(yyyy) بدون ماه و روز نوشته شود .
مثال ـ تاريخ ايزو با سال
const d = new Date("2015");
منطقه زماني در مثال بالا نتايج متفاوتي براي مثال فوق دارد . بين31 دسامبر 2014و01 ژانويه2015 تغيير مكند.
تاريخهاي ايزو ميتوانند شامل زمان هم باشند .زمان شامل ساعت، دقيقه وثانيه است.فرمت كامل تاريخ وزمان مطابق قالبnobr>(YYYY-MM-DDTHH:MM:SSZ) نوشته ميشود<.
مثال ـ ايزو تاريخ وزمان
const d = new Date("2015-03-25T12:00:00Z");
تاريخ وزمان بوسيله حرف بزرگT تفكيك ميشوند .
زمانUTC با حرف بزرگ Z معرفي ميشود .
اگر بخواهيد نسبت بهUTC اصلاحي انجام دهيد با حذف Z و اضافه نمودن+HH:MM يا-HH:MM بجاي آن اقدام نمائيد .
مثال ـ اصلاح زمانUTC
const d = new Date("2015-03-25T12:00:00-06:30");
UTCمخفف Universal Time Coordinated كه مشابه GMT(Greenwich Mean Time) است .
حذفT و Z از فرمت تاريخ وزمان ، ميتواند در مرورگرهاي مختلف نتايج متفاوتي داشته باشد .
هنگاميكه تاريخ بدون منطقه زماني تنظيم ميگردد، جاوااسكريت از منطقه زماني مرورگر استفاده مي نمايد.
موقعيكه تاريخي بدون منطقه زماني دريافت ميشود، نتيجه تبديل شده منطقه زماني مرورگرخواهد بود.
بعبارت ديگري، اگر تاريخ وزمان بگريمويچ(GTM) ايجاد شود، آن به ساعت نوري ايالت متحده آمريكا(CDT) تبديل ميگردد .
تاريخ هاي كوتاه با قالب"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");
ميتوان ماه را بصورت مخفف(Jan) يا كامل(January) نوشت .
مثال ـ ذكر ماه بفرم كامل
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()ميلي ثانيه برگشتي را نسبت به تاريخ197001" محاسبه ميكند.
مثال ـ محاسبه ميلي ثانيه تاريخ
let msec = Date.parse("March 21, 2012");
ميتوان ميلي ثانيه را تبديل به شئ تاريخ نمود.
مثال ـ تبديل ميلي ثانيه به شئ تاريخ
let msec = Date.parse("March 21, 2012");
const d = new Date(msec);