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

از موتو کد، دانشنامهٔ برنامه‌نویسی


تاریخ و زمان ورودی در جاوا اسکریپت[ویرایش | ویرایش]

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

نوع مثال
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() تفاضل بین تاریخ ورودی و تاریخ یک ژانویه ۱۹۷۰ را به صورت میلی ثانیه بیان می‌کند:

مثال[ویرایش | ویرایش]

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


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


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

مثال[ویرایش | ویرایش]

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


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



منابع آموزشی[ویرایش]