فرمت‌های تاریخ

از ویکی‌کد
پرش به ناوبری پرش به جستجو
Main Page Tutorial
JavaScript-menu.png
موارد آموزشی
فرم‌ها در جاوا اسکریپت
اشیاء در جاوا اسکریپت
تابع در جاوا اسکریپت
HTML DOM در جاوا اسکریپت
Browser BOM در جاوا اسکریپت
AJAX در جاوا اسکریپت
JSON در جاوا اسکریپت
جی‌کوئری در برابر جاوا اسکریپت
مرجع جاوا اسکریپت

تاریخ و زمان ورودی در جاوا اسکریپت

به صورت کلی ۳ نوع فرمت، یا شیوهٔ تاریخ و زمان ورودی در جاوا اسکریپت وجود دارد: [۱]

نوع مثال
ISO Date "۲۰۱۵-۰۳-۲۵" استاندارد جهانی
Short Date “۲۰۱۵/۲۵/۰۳”
Long Date "Mar ۲۵ ۲۰۱۵" یا "۲۵ Mar ۲۰۱۵"

فرمت ISO از یک استاندارد مناسب درجاوا اسکریپت پیروی می‌کند.

سایر فرمت‌ها به خوبی تعریف نشده‌اند و ممکن است که نتیجه بستگی به مرورگرهای مختلف داشته باشد.

تاریخ خروجی در جاوا اسکریپت

همانند فرمت تاریخ ورودی، جاوا اسکریپت به صورت پیشفرض تاریخ‌های خروجی را در یک رشته کامل نمایش داده می‌شود:

تاریخ های ISO در جاوا اسکریپت

استاندارد ISO 8601 یک استاندارد بین‌المللی برای نمایش تاریخ‌ها و زمانهاست.

شیوه نوشتار (YYYY-MM-DD) در استاندارد iso8601 درفرمت تاریخ جاوا اسکریپت نیز رعایت می‌شود:

مثال (زمان کامل)

var d = new Date("2015-03-25");


مشاهدهٔ نتیجه


تاریخ پردازش شده با موقعیت مکانی رابطه مستقیم خواهد داشت.

با توجه به موقعیت زمانی شما، نتیجه بالا بین ۲۴ مارس و ۲۵ مارس خواهد بود.

تاریخ های ایزو (سال و ماه)

مثال

var d = new Date("2015-03");


مشاهدهٔ نتیجه

با توجه به موقعیت زمانی تاریخ فوق بین ۲۸ فوریه و ۱ مارس خواهد بود.

تاریخ های ایزو (فقط سال)

تاریخ‌های ایزو را می‌توان بدون علامت ماه روز (به صورت YYYY) نوشت:

مثال

var d = new Date("2015");


مشاهدهٔ نتیجه


با توجه به موقعیت زمانی، نتیجه تاریخ فوق بین ۳۱ دسامبر سال ۲۰۱۴ و یک ژانویه سال ۲۰۱۵ خواهد بود.

تاریخ های ایزو (تاریخ - زمان)

تاریخ‌های ایزو را می‌توان با ساعت، دقیقه و ثانیه اضافی (یعنی به صورت YYYY-MM-DDTHH:MM:SSZ) نوشت:

مثال

var d = new Date("2015-03-25T12:00:00Z");


مشاهدهٔ نتیجه


تاریخ و زمان با یک حرف T بزرگ از یک دیگر جدا شده‌اند.

زمان جهانی (به انگلیسی: UTC) نیز به وسیلهٔ حرف بزرگ Z تعریف شده‌است.

اگر شما می‌خواهید زمان را با توجه به ساعت جهانی تغییر دهید، حرف Z را پاک کنید و به جای آن از +HH:MM و -HH:MM استفاده کنید.

مثال

var d = new Date("2015-03-25T12:00:00-06:30");


مشاهدهٔ نتیجه

UTC یا ساعت جهانی با ساعت گرینویچ (GMT ) یکسان است.
ننوشتن عبارت T و Z در یک تاریخ و زمان می‌تواند موجب بروز نتایج متفاوت در مرورگرهای متفاوت شود.

موقعیت های زمانی

هنگام تنظیم تاریخ، زمانی که شما موقعیت زمانی را مشخص نکنید، جاوا اسکریپت از موقعیت زمانی مرورگر استفاده می‌کند.

هنگام دریافت یک تاریخ بدون مشخص کردن منطقه زمانی، نتیجه به منطقه زمانی مرورگر کاربر تبدیل می‌شود.

به بیان دیگر: اگر یک تاریخ / زمان بر حسب GMT یا گرینویچ باشد، اگر کاربر صفحه وبی را از مرکز ایالات متحده با مرورگر خود باز کند تاریخ و زمان به CDT یا زمان مرکزی ایالات متحده آمریکا تبدیل می‌شود.

تاریخ های کوتاه در جاوا اسکریپت

تاریخ‌های کوتاه به صورت فرمت "MM/DD/YYYY" همانند مثال زیر نوشته می‌شوند:

مثال

var d = new Date("03/25/2015");


مشاهدهٔ نتیجه


هشدارها!

در برخی از مرورگرها، اگر شماره ماه یا روز را بدون صفر بنویسید، ممکن است موجب بروز خطا شود:

var d = new Date("2015-3-25");

رفتار "YYYY/MM/DD" تعریف نشده‌است.

برخی از مرورگرها سعی خواهند کرد که فرمت را حدس بزنند. برخی نیز مقدار NaN را به عنوان خروجی برمی‌گردانند.

var d = new Date("2015/03/25");

رفتار "DD-MM-YYYY" نیز تعریف نشده‌است.

برخی از مرورگرها سعی خواهند کرد که فرمت را حدس بزنند. برخی نیز مقدار NaN را به عنوان خروجی برمی‌گردانند.

var d = new Date("25-03-2015");

تاریخ های طولانی در جاوا اسکریپت

تاریخ‌های طولانی اغلب به صورت "MMM DD YYYY" مانند مثال زیر نوشته می‌شوند:

مثال

var d = new Date("Mar 25 2015");


مشاهدهٔ نتیجه


ماه و روز را می‌توان به هر حالتی نوشت:

مثال

var d = new Date("25 Mar 2015");


مشاهدهٔ نتیجه


و، نام‌ها را هم می‌توان به صورت کامل نوشت(January) و هم به صورت مخفف (Jan):

مثال

var d = new Date("January 25 2015");


مشاهدهٔ نتیجه


مثال

var d = new Date("Jan 25 2015");


مشاهدهٔ نتیجه


ویرگول‌ها نادیده گرفته می‌شوند. نامها نیز حساس به حروف کوچک و بزرگ نیستند:

مثال

var d = new Date("JANUARY, 25, 2015");


مشاهدهٔ نتیجه


تاریخ ورودی - تبدیل تاریخ ها

اگر شما یک تاریخ رشته‌ای در فرمت صحیح داشته باشید، می‌توانید با استفاده از متد Date.parse() آن را به میلی ثانیه تبدیل کنید.

متد Date.parse() تفاضل بین تاریخ ورودی و تاریخ یک ژانویه ۱۹۷۰ را به صورت میلی ثانیه بیان می‌کند:

مثال

1 var msec = Date.parse("March 21, 2012");
2 document.getElementById("demo").innerHTML = msec;


مشاهدهٔ نتیجه


شما سپس می‌توانید از اعداد میلی ثانیه برای تبدیل به یک شیء تاریخ و زمان استفاده کنید:

مثال

1 var msec = Date.parse("March 21, 2012");
2 var d = new Date(msec);
3 document.getElementById("demo").innerHTML = d;


مشاهدهٔ نتیجه



منابع آموزشی