جافاسكربتالتاريخ و الوقت
- معرفة التاريخ و الوقت
- التوقيت المحلي و التوقيت العالمي
- طريقة إنشاء كائن
Date
- دوال التوقيت المحلي و العالمي
معرفة التاريخ و الوقت
جافاسكربت توفر النوع Date
و الذي يمكن استخدامه للحصول على التاريخ و الوقت الحالي.
هذا النوع يتم التعامل معه و كأنه كلاس عادي و هو يحتوي على الكثير من الدوال الجاهزة التي يمكن استخدامها لتعديل و عرض التاريخ.
في هذا الدرس ستتعلم كيفية الحصول التاريخ و الوقت من خلال النوع Date
، و ستتعرف على جميع الدوال الموجودة فيه.
النوع Date
متاح منذ الإصدار الأول للغة جافاسكربت، من قبل أن تدعم النوع class
حتى و لكنه مُعد ليتم التعامل معه على أنه كذلك.
التوقيت المحلي و التوقيت العالمي
التوقيت المحلي ( Local Date ) هو التاريخ و الوقت الذي يظهر في جهاز المستخدم تبعاً للموقع الجغرافي الذي حدده بنفسه أو الذي تم تحديده بشكل تلقائي له نسبةً لموقعه الجغرافي الحالي.
التوقيت العالمي ( Coordinated Universal Time ) هو التاريخ و الوقت الذي يتم تحديده تبعاً لخطوط الطول على الكرة الأرضية. نقطة الصفر في هذا التوقيت هي عند خط الطول الذي تقع فيه بلدة تسمى جرينتش، فمثلاً توقيت نيويورك بالنسبة له يكون UTC-4 مما يعني أنه متأخر عنه 4 ساعات، في حين أن توقيت السعودية بالنسبة له هو UTC+3 مما يعني أنه متقدم عنه 3 ساعات.
عند الحاجة لمعرفة فارق التوقيت بين دولتين نعتمد على التوقيت العالمي، فعلى سبيل المثال عندما تكون الساعة هي 6 مساءاً في السعودية فهذا يعني أن الساعة هي 11 صباحاً في نيويورك.
بالمناسبة النوع Date
يوفر لنا دوال جاهزة للتعامل مع التاريخ و الوقت سواء على الصعيد المحلي و على الصعيد العالمي.
طريقة إنشاء كائن Date
يمكنك اتباع أي طريقة من الطرق التالية لإنشاء كائن من النوع Date
.
new Date() new Date(milliseconds) new Date(stringDate) new Date(year, month) new Date(year, month, day) new Date(year, month, day, [hours, minutes, seconds, ms])
- في حال لم تمرر أي قيمة في الكونستركتور فهذا يعني أنه سيتم إنشاء كائن يحتوي على التاريخ و الوقت الحالي.
- مكان البارميتر
milliseconds
يمكنك تمرير عدد أجزاء الثانية من بعد التاريخ1/1/1970
مع الإشارة إلى أن كل 1000 يساوي ثانية واحدة. - مكان البارميتر
stringDate
يمكنك تمرير التاريخ على شكل نص بشرط أن يكون يتبع أسلوب مقبول بالنسبة للدالةDate.parse()
. - مكان البارميتر
year
يجب تمرير عدد يتكون من 4 أرقام ليمثل رقم السنة التي سيتم إنشاء التاريخ لأجلها. - مكان البارميتر
month
يجب تمرير عدد ليمثل رقم الشهر في السنة. - مكان البارميتر
day
يجب تمرير عدد ليمثل رقم اليوم بالنسبة للشهر. hours
هو باراميتر إختياري مكانه يمكن تمرير عدد بين 0 و 23 ليمثل الساعة بنظام 24 ساعة في اليوم.minutes
هو باراميتر إختياري مكانه يمكن تمرير عدد بين 0 و 59 ليمثل عدد الدقائق في الساعة.seconds
هو باراميتر إختياري مكانه يمكن تمرير عدد بين 0 و 59 ليمثل عدد الثواني في الدقيقة.ms
هو باراميتر إختياري مكانه يمكن تمرير عدد يمثل أجزاء الثانية التالية، حيث أن كل 1000 يمثل ثانية إضافية.
جميع الباراميترات الموضوعة بين [ ]
هي باراميترات إختيارية خاصة لتحديد الوقت مما يعني أنه يمكنك تمرير بعضها، أو تمريرها كلها أو تجاهلها بالكامل.
في المثال التالي قمنا بإنشاء كائن نوعه Date
يمثل التاريخ الحالي.
المثال الأول
// يمثل التاريخ و الوقت الحالي date و إسمه Date هنا قمنا بإنشاء كائن نوعه let date = new Date(); // date هنا قمنا بعرض التاريخ و الوقت الموجود في الكائن document.write(date);
في المثال التالي قمنا بإنشاء كائن نوعه Date
يمثل التاريخ من عام 1970/1/1
مضافاً إليه 5 ثواني.
المثال الثاني
// يمثل التاريخ و الوقت من عام 1970/1/1 مضافاً إليه 5 ثواني date و إسمه Date هنا قمنا بإنشاء كائن نوعه let date = new Date(5000); // date هنا قمنا بعرض التاريخ و الوقت الموجود في الكائن document.write(date);
في المثال التالي قمنا بإنشاء كائن نوعه Date
يمثل التاريخ و الوقت الذي تم تمريره له على شكل نص.
المثال الثالث
// يمثل التاريخ و الوقت الذي تم تمريره كنص له date و إسمه Date هنا قمنا بإنشاء كائن نوعه let date = new Date('Thu Feb 03 2020 02:00:05'); // date هنا قمنا بعرض التاريخ و الوقت الموجود في الكائن document.write(date);
في المثال التالي قمنا بإنشاء كائن نوعه Date
يمثل التاريخ و الوقت ابتداءاً من أول شهر مايو في عام 2020.
المثال الرابع
// يمثل التاريخ و الوقت ابتداءاً من أول شهر مايو في عام 2020 date و إسمه Date هنا قمنا بإنشاء كائن نوعه let date = new Date(2020, 5); // date هنا قمنا بعرض التاريخ و الوقت الموجود في الكائن document.write(date);
في المثال التالي قمنا بإنشاء كائن نوعه Date
يمثل التاريخ و الوقت ابتداءاً من اليوم العاشر في شهر مايو من عام 2020.
المثال الخامس
// يمثل التاريخ و الوقت ابتداءاً من اليوم العاشر في شهر مايو في عام 2020 date و إسمه Date هنا قمنا بإنشاء كائن نوعه let date = new Date(2020, 5, 10); // date هنا قمنا بعرض التاريخ و الوقت الموجود في الكائن document.write(date);
في المثال التالي قمنا بإنشاء كائن نوعه Date
مع تحديد الوقت و التاريخ الذي يمثله بالتفصيل حيث أنه يمثل عام 2020، الشهر 5 (أي مايو)، اليوم 10، الساعة 7 صباحاً، الدقيقة 30، الثواني 6 بالإضافة إلى مرور 200 جزء من الثانية القادمة.
المثال السادس
// مع تحديد التاريخ و الوقت الذي يمثله بدقة date و إسمه Date هنا قمنا بإنشاء كائن نوعه let date = new Date(2020, 5, 10, 7, 30, 6, 200); // date هنا قمنا بعرض التاريخ و الوقت الموجود في الكائن document.write(date);
دوال التوقيت المحلي و العالمي
دوال النوع Date
غالباً يوجد منها نسخة خاصة للتوقيت المحلي و نسخة خاصة للتوقيت العالمي.
دوال التوقيت العالمي تكون بنفس إسم دوال التوقيت المحلي مضافاً إليها كلمة UTC فقط.
الإختلاف بين القيم التي ترجعها الدوال المخصصة للتوقيت المحلي و الدوال المخصصة للتوقيت العالمي تلاحظه بشكل عام حين يكون الفارق بين عدد الساعات كبير.
الجدول التالي يتضمن جميع الدوال الثابتة في النوع Date
.
الدالة و تعريفها | |
---|---|
1 | Date.now()
ترجع عدد أجزاء الثواني الموجودة من تاريخ 1970/1/1 إلى التاريخ و الوقت الحالي في جهاز المستخدم.مثال عنها |
2 | Date.parse(stringDate)
تقرأ التاريخ الذي نمرره لها على شكل مكان الباراميتر stringDate و من ثم ترجع عدد أجزاء الثواني الموجودة من تاريخ 1970/1/1 إلى التاريخ و الوقت الذي يمثله.مثال عنها |
3 | Date.UTC(year, [month, day, hours, minutes, seconds, milliseconds])
ترجع عدد أجزاء الثواني الموجودة من تاريخ 1970/1/1 UTC إلى التاريخ الذي نحدده فيها.
|
الجدول التالي يتضمن دوال النوع Date
التي يمكن استدعاءها من كائن مشتق منه.
الدالة و تعريفها | |
---|---|
1 | getDate() - getUTCDate()
ترجع عدد بين 1 و 31 يمثل رقم اليوم بالنسبة للشهر الحالي في التاريخ الذي يمثله الكائن Date الذي تم استدعاءها منه.مثال عنها |
2 | getFullYear() - getUTCFullYear()
ترجع عدد يمثل رقم السنة في التاريخ الذي يمثله الكائن Date الذي تم استدعاءها منه.مثال عنها |
3 | getMonth() - getUTCMonth()
ترجع عدد بين 0 و 11 يمثل رقم الشهر بالنسبة للسنة الحالية في التاريخ الذي يمثله الكائن Date الذي تم استدعاءها منه.ملاحظة: الشهر رقم 0 يشير لأول شهر في السنة، أي شهر يناير أو كانون الثاني. مثال عنها |
4 | getDay() - getUTCDay()
ترجع عدد بين 0 و 6 يمثل رقم اليوم بالنسبة للأسبوع الحالي في التاريخ الذي يمثله الكائن Date الذي تم استدعاءها منه.ملاحظة: اليوم رقم 0 يشير ليوم الأحد و هو يعتبر أول يوم في الأسبوع. مثال عنها |
5 | getHours() - getUTCHours()
ترجع عدد بين 0 و 23 يمثل كم هي الساعة في التاريخ الذي يمثله الكائن Date الذي تم استدعاءها منه.مثال عنها |
6 | getMinutes() - getUTCMinutes()
ترجع عدد بين 0 و 59 يمثل كم هي الدقيقة في التاريخ الذي يمثله الكائن Date الذي تم استدعاءها منه.مثال عنها |
7 | getSeconds() - getUTCSeconds()
ترجع عدد بين 0 و 59 يمثل كم هي الثانية في التاريخ الذي يمثله الكائن Date الذي تم استدعاءها منه.مثال عنها |
8 | getMilliseconds() - getUTCMilliseconds()
ترجع عدد بين 0 و 999 يمثل كم عدد أجزاء الثانية الإضافية في التاريخ الذي يمثله الكائن Date الذي تم استدعاءها منه.مثال عنها |
9 | getTime()
ترجع عدد أجزاء الثانية الموجودة من تاريخ 1970/1/1 إلى التاريخ الذي يمثله الكائن Date الذي تم استدعاءها منه.مثال عنها |
10 | setFullYear(year, [month, day]) - setUTCFullYear(year, [month, day])
تستخدم لتحديث السنة، الشهر و اليوم في التاريخ الذي يمثله الكائن Date الذي قام باستدعائها.
|
11 | setMonth(month, [day]) - setUTCMonth(month, [day])
تستخدم لتحديث الشهر و اليوم في التاريخ الذي يمثله الكائن Date الذي قام باستدعائها.
|
12 | setDate(day) - setUTCDate(day)
تستخدم لتحديث عدد الأيام في التاريخ الذي يمثله الكائن Date الذي قام باستدعائها.مكان الباراميتر day نمرر لها عدد الأيام الذي سيتم إضافته أو إنقاصه من التاريخ.مثال عنها |
13 | setHours(hours, [minutes, seconds, milliseconds]) - setUTCHours(hours, [minutes, seconds, milliseconds])
تستخدم لتحديث الساعة، الدقائق، الثواني و أجزاء الثواني التالية في التاريخ الذي يمثله الكائن Date الذي قام باستدعائها.
|
14 | setMinutes(minutes, [seconds, milliseconds]) - setUTCMinutes(minutes, [seconds, milliseconds])
تستخدم لتحديث الدقائق، الثواني و أجزاء الثواني التالية في التاريخ الذي يمثله الكائن Date الذي قام باستدعائها.
|
15 | setSeconds(seconds, [milliseconds]) - setUTCSeconds(seconds, [milliseconds])
تستخدم لتحديث الثواني و أجزاء الثواني التالية في التاريخ الذي يمثله الكائن Date الذي قام باستدعائها.
|
16 | setMilliseconds(milliseconds) - setUTCMilliseconds(milliseconds)
تستخدم لتحديث أجزاء الثواني التالية في التاريخ الذي يمثله الكائن Date الذي قام باستدعائها.مكان الباراميتر milliseconds نمرر لها عدد أجزاء الثواني التالية و الأصل أن يكون بين 0 و 999.مثال عنها |
17 | setTime(milliseconds) - setUTCTime(milliseconds)
تستخدم لتحديث التاريخ الذي يمثله الكائن Date الذي قام باستدعائها مع اعتبار أنه سيبدأ من تاريخ 1970/1/1 .مكان الباراميتر milliseconds نمرر لها عدد أجزاء الثواني التي سيتم إضافتها أو إنقاصها من التاريخ، و هنا كل 1000 يساوي ثانية واحدة.مثال عنها |
18 | getTimezoneOffset()
ترجع عدد صحيح يمثل عدد الدقائق الفارقة ما بين خط غرينيتش و المنطقة الزمنية المحددة في التاريخ الذي قام باستدعائها.إليك بعض الأمثلة:
|
19 | toDateString()
ترجع التاريخ الموجود في الكائن Date الذي قام باستدعائها على شكل نص.مثال عنها |
20 | toTimeString()
ترجع الوقت الموجود في الكائن Date الذي قام باستدعائها على شكل نص.مثال عنها |
21 | toString()
ترجع التاريخ و الوقت الموجود في الكائن Date الذي قام باستدعائها على شكل نص.مثال عنها |
22 | toISOString()
ترجع التاريخ و الوقت الموجود في الكائن Date الذي قام باستدعائها على شكل نص يتكون من 24 حرف و يعتمد الفورمات 'YYYY-MM-DDTHH:mm:ss.sssZ' أو 27 حرف و يعتمد الفورمات '±YYYYYY-MM-DDTHH:mm:ss.sssZ' مثال عنها |
23 | toUTCString() - toGMTString()
ترجع التاريخ و الوقت الموجود في الكائن Date الذي قام باستدعائها على شكل نص يعتمد الفورمات 'Www, dd Mmm yyyy hh:mm:ss GMT' مثال عنها |
24 | toJSON()
ترجع التاريخ و الوقت الموجود في الكائن Date الذي قام باستدعائها على شكل نص ملاحظة: فورمات النص هو نفسه الفورمات المستخدم في الدالة toISOString() .مثال عنها |
25 | valueOf()
ترجع عدد أجزاء الثانية الموجودة من تاريخ 1970/1/1 إلى التاريخ الذي يمثله الكائن Date الذي قام باستدعائها.ملاحظة: لا يوجد أي إختلاف بين هذه الدالة و الدالة getTime() .مثال عنها |
26 | toLocaleString([locales, options])
ترجع نسخة من التاريخ و الوقت الموجود في الكائن Date الذي قام باستدعائها بشكل محدد.
|
27 | toLocaleDateString([locales, options])
ترجع نسخة من التاريخ الموجود في الكائن Date الذي قام باستدعائها بشكل محدد.
|
28 | toLocaleTimeString([locales, options])
ترجع نسخة من الوقت الموجود في الكائن Date الذي قام باستدعائها بشكل محدد.
|