با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، در بخش های قبلی با انواع داده های مهمی که در جاوااسکریپت استفاده می شود، آشنا شدیم. یکی از این داده های پر استفاده نوع تاریخ و زمان است. جاوااسکریپت برای کار با انواع داده ی تاریخ و زمان، متدها و فرمت های مختلفی را ارائه داده است که برای دستکاری و تبدیلات مختلف داده های نوع تاریخ و زمان مورد استفاده قرار می گیرد، برای آشنایی با نحوه ی کار با فرمت های تاریخ در جاوا اسکریپت در ادامه ی این مبحث با ما همراه باشید.
در ادامه ی این آموزش شما را با انواع فرمت های تاریخ در جاوااسکریپت آشنا خواهیم کرد.
جاوااسکریپت به طور کلی از سه نوع فرمت تاریخ پشتیبانی می کند :
Type | Example |
---|---|
ISO Date | “۲۰۱۵-۰۳-۲۵” (استاندارد بین المللی) |
Short Date | “۰۳/۲۵/۲۰۱۵” |
Long Date | “Mar 25 2015” or “25 Mar 2015” |
قالب ISO مطابق استاندارد سختگیرانه ای در جاوا اسکریپت است.
فرمت های دیگر به خوبی تعریف نشده اند و ممکن است در مرورگر خاصی باشند.
جدا از فرمت ورودی، جاوا اسکریپت (به طور پیش فرض) تاریخ خروجی را در فرمت رشته به صورت زیر می دهد:
1 | Wed Mar 25 2015 04:30:00 GMT+0430 (Iran Daylight Time) |
ISO 8601 استاندارد بین المللی برای نمایش تاریخ و زمان است.
دستورالعمل (ISO 8601 (YYYY-MM-DD نیز فرمت جاوااسکریپت است:
تاریخ محاسبه مربوط به منطقه زمانی شما خواهد بود.
با توجه به منطقه زمانی شما، نتیجه بالا در بین ۲۴ مارس و ۲۵ مارس قرار می گیرد.
تاریخ های ISO را می توان بدون مشخص کردن روز نوشت (YYYY-MM):
مناطق زمانی می توانند نتایج بین دو فوریه ۲۸ تا ۰۱ مارس را تغییر دهند.
تاریخ های ISO را می توان بدون مشخص کردن روز و ماه نوشت (فقط سال) :
مناطق زمانی می توانند در نتیجه بالا بین ۳۱ دسامبر ۲۰۱۴ تا ۲۰۱۵ ژانویه ۱ تغییر کنند.
تاریخ های ISO را می توان با ساعت، دقیقه و ثانیه اضافه کرد (YYYY-MM-DDTHH: MM: SSZ):
تاریخ و زمان با یک T جدا شده اند.
زمان UTC با حرف بزرگ Z تعریف شده است.
اگر می خواهید زمان را نسبت به UTC تغییر دهید، Z را حذف کرده و + HH: MM یا -HH: MM را جایگزین کنید:
UTC (زمان جهانی هماهنگ شده) همان GMT است (گرینویچ زمان متوسط).
حذف T یا Z در یک رشته تاریخ زمان می تواند نتایج مختلفی در مرورگر مختلف داشته باشد.
هنگام تنظیم تاریخ، بدون مشخص کردن منطقه زمانی، جاوا اسکریپت از منطقه زمانی مرورگر استفاده می کند.
هنگام گرفتن تاریخ، بدون تعیین منطقه زمانی، نتیجه به منطقه زمانی مرورگر تبدیل می شود.
به عبارت دیگر: اگر یک تاریخ / زمان در GMT (گرینویچ زمان متوسط) ایجاد شود، اگر کاربر از مرکز ایالات متحده مرور کند، تاریخ / زمان به CDT (Central Daylight Time ایالات متحده) تبدیل می شود.
تاریخ های کوتاه را می توان در قالب “MM/DD/YYYY” به صورت زیر نوشت :
در برخی از مرورگرها، ماهها یا روزها بدون صفر پیشین ممکن است یک خطا ایجاد کند:
1 | var d = new Date("2015-3-25"); |
رفتار “YYYY / MM / DD” نامشخص است.
برخی از مرورگرها سعی خواهند کرد فرمت را حدس بزنند. برخی NaN را بازمی گردانند:
1 | var d = new Date("2015/03/25"); |
رفتار “DD-MM-YYYY” نیز نامشخص است.
برخی از مرورگرها سعی خواهند کرد فرمت را حدس بزنند. برخی NaN را بازمی گردانند:
1 | var d = new Date("25-03-2015"); |
تاریخ های طولانی اغلب با فرمت «MMM DD YYYY» نوشته شده است:
ماه و روز را می توان در هر ترتیبی نوشت :
و ماه می تواند به طور کامل (ژانویه) یا به اختصار (ژانویه) نوشته شود:
به اختصار (ژانویه):
کاماها نادیده گرفته می شوند نام ها به بزرگی و کوچکی حساس نیست:
اگر یک رشته تاریخ معتبر دارید، می توانید از متد ()Date.parse برای تبدیل آن به میلی ثانیه استفاده کنید.
() Date.parse تعداد میلی ثانیه بین تاریخ و تاریخ ۱ ژانویه ۱۹۷۰ را نشان می دهد:
1 2 | var msec = Date.parse("March 21, 2012"); document.getElementById("demo").innerHTML = msec; |
سپس می توانید از تعداد میلی ثانیه برای تبدیل آن به یک آبجکت تاریخ استفاده کنید:
1 2 3 | var msec = Date.parse("March 21, 2012"); var d = new Date(msec); document.getElementById("demo").innerHTML = d; |
جاوااسکریپت برای کار با انواع داده های تاریخ و زمان، متدها و فرمت های مختلفی را پشتیبانی می کند که برای دستکاری و تبدیل های مختلف داده های نوع تاریخ و زمان مورد استفاده قرار می گیرد، که در مباحث فوق به طور مختصر به بررسی فرمت های تاریخ در جاوااسکریپت پرداختیم.