الكلمات السابقة
كائن التاريخ هو نوع بيانات مدمج بلغة JavaScript ويستخدم لتوفير واجهة تشغيل للتواريخ والأوقات. يتم إنشاء كائن التاريخ بناءً على فئة java.util.date في جافا المبكرة. لهذا السبب ، يستخدم نوع التاريخ Milliseconds المنقضي من الساعة 0:00 في 1 يناير 1970 لحفظ التاريخ. النطاق الزمني الذي يمكن أن يمثله هو 100 مليون يوم كل حوالي الساعة 0:00 في 1 يناير 1970. هذا المقال ستقدم استخدام كائنات التاريخ بالتفصيل
الطرق الثابتة قبل تقديم مُنشئ كائن التاريخ ، سنقدم أولاً الطرق الثابتة. لأن الطريقة الثابتة لكائن التاريخ ترتبط ارتباطًا وثيقًا بمنشئه. تشبه عملية إنشاء كائن تاريخ باستخدام مُنشئ عملية استخدام طريقة ثابتة ترتدي معطفًا
هناك ثلاث طرق ثابتة في كائن التاريخ ، وهي Date.Now () ، Date.Parse () ، و Date.UTC (). يتم استدعاء هذه الطرق من خلال مُنشئ التاريخ () نفسه ، بدلاً من كائن مثيل التاريخ
Date.Now ()
أضافت ECMASCRIPT5 طريقة الآن () ، التي تُرجع عدد المللي ثانية من الوقت الحالي إلى 0:00 UTC في 1 يناير 1970. لا تدعم هذه الطريقة مرور المعلمات
[ملاحظة] تقوم هذه الطريقة بإرجاع النوع الرقمي للرقم
console.log (date.now ()) ؛ // 1468297046050505050505050505050505050505050505050505050505050505050505050
في المتصفحات التي لا تدعم طريقة التاريخ. الآن () ، يمكنك استخدام مشغل + لتحويل كائن التاريخ إلى رقم ، ويمكن تحقيق تأثيرات مماثلة.
console.log (date date ()) ؛ // Tue Jul 12 2016 12:21:33 GMT+0800 (China Standard Time) Console.log (+New Date ()) ؛ //
غالبًا ما يتم استخدام هذه الطريقة لتحليل الكود
var start = date.now () ؛ dosomething () ؛ var stop = date.now () ؛ result = stop - start ؛
Date.Parse ()
يتم استخدام هذه الطريقة لتحليل سلسلة تاريخ. المعلمة عبارة عن سلسلة تحتوي على تاريخ ووقت يتم تحليلهم ، وإعادة عدد المللي ثانية من الساعة 0:00 في 1 يناير 1970 إلى التاريخ المحدد
هذه الطريقة تخيل تنسيق السلسلة وفقًا لقواعد تنسيق التاريخ والوقت . بالإضافة إلى التنسيق القياسي ، يتم دعم التنسيقات التالية أيضًا. إذا لم يتم التعرف على السلسلة ، فسيتم إرجاع NAN
1. 'شهر/يوم/سنة' ، 6/13/2004
2. "شهر ، يوم ، سنة" مثل 1200 يناير أو 12 يناير 2004
3. "الأسبوع ، الشهر ، اليوم ، السنة ، الوقت: دقيقة ، المنطقة الزمنية الثانية" 25 مايو 2004 00:00:00 بتوقيت جرينتش-0700
[ملاحظة] لا يدعم المتصفح تنسيقات السلسلة التي لا تمثل التواريخ ولكنها فقط.
console.log (date.parse ('6/13/2004')) ؛ // 10870560000000000console.log (date.parse ('12 يناير 2004')) GMT-0700 ') ؛ // 1085468400000Console.log (Date.Parse (' 2004-05-25t00: 00: 00 ')) ؛ // 1085443200000Console.log (dat E.Parse ('2016')) ؛ // 1451606400000Console.log (Date.Parse ('t00: 00: 00')) ؛ // nanconsole.log (date.parse ()) ؛ // nan[ملاحظة] في ECMASCRIPT5 ، إذا كانت السلسلة التي تستخدم قاعدة تنسيق سلسلة وقت التاريخ القياسية تحتوي على بادئة 0 قبل الرياضيات ، فسيتم تحليلها كوقت UTC ، وإذا لم يتم تسليم الوقت على أنه 0 ، فسيتم تحليله كتوقيت محلي. يتم حل المواقف الأخرى بشكل عام إلى التوقيت المحلي
console.log (date.parse ('7/12/2016')) ؛ // 1468252800000Console.log (date.parse ('2016-7-12'))Date.UTC ()
يعيد Date.UTC () أيضًا عدد ميلي ثانية من تاريخ معين ، ولكن معلماتها ليست سلسلة ، ولكنها معلمات رقمية تمثل السنة والشهر والساعة والدقيقة والثانية والميلي ثانية على التوالي.
Date.UTC (سنة ، شهر ، اليوم ، ساعات ، دقائق ، ثوان ، MS) ، يتم إصلاح المعلمات العام والشهر ، والمعلمات المتبقية اختيارية. انظر هنا للحصول على تفاصيل حول قواعد تنسيق التاريخ والوقت.
لأن الوظيفة لها 7 معلمات رسمية ، فإن قيمة الطول هي 7
console.log (date.utc.length) ؛ // 7
[ملاحظة] تستخدم هذه الطريقة وقت UTC ، وليس بالتوقيت المحلي
console.log (Date.UTC (1970)) ؛ // nanconsole.log (Date.UTC (1970،0)) ؛ // 0console.log (Date.UTC (1970،0،2)) ؛ // 86400000Console.log (da TE.UTC (1970،0،1،1))
تاريخ المنشئ () يحتوي على مُنشئ ما يصل إلى 5 طرق لاستخدامه
【0】 التاريخ ()
يمكن استدعاء الأرقام مثل وظيفة بدون المشغل الجديد. سوف يتجاهل جميع المعلمات الواردة وإرجاع تمثيل سلسلة للتاريخ والوقت الحاليين
تاريخ()؛
[ملاحظة] نظرًا لأن وظيفة Date () لا تستخدم المشغلين ، فلا يمكن تسميتها فعليًا بأنها مُنشئ
console.log (date ()) ؛ // "Tue Jul 12 2016 13:38:41 GMT+0800 (China Standard Time)" Console.log (Date ('2016/1/1')) ؛【1】 عندما تستخدم وظيفة Date () المشغل الجديد وليس لديها معلمات ، سيتم إنشاء كائن تاريخ بناءً على الوقت والتاريخ الحاليين
تاريخ جديد () ؛
console.log (date date ()) ؛ // Tue Jul 12 2016 13:41:45 GMT+0800 (China Standard Time) Console.log (تاريخ جديد)
【2】 date () يمكن أن تقبل دالة المعلمة الرقمية ، والتي تمثل عدد المللي ثانية بين الوقت المحدد و 0 من الساعة 1 يناير 1970
تاريخ جديد (ميلي ثانية) ؛
console.log (تاريخ جديد (0)) ؛ // Thu Jan 01 1970 08:00:00 GMT+0800 (الصين التوقيت القياسي) Console.log (تاريخ جديد (86400000))
【3】 يمكن أن تقبل وظيفة Date () معلمة سلسلة ، ونموذج المعلمة مشابه لطريقة Date.Parse (). لكن طريقة parse () تُرجع رقمًا ، بينما تُرجع دالة التاريخ () كائن
تاريخ جديد (datestring) ؛ console.log (تاريخ جديد ('6/13/2004')) التاريخ (6/13/2004)) ؛ // ObjectConsole.log (typeof date.parse (6/13/2004))تشبه معالجة البادئة 0 في سلسلة التاريخ القياسية وسلسلة الوقت أيضًا طريقة Date.Parse (). إذا كان هناك ما قبل 0 ، فهذا يعادل وقت UTC ، وإذا لم يكن هناك ، فهذا يعادل بالتوقيت المحلي. عادة ما يكون الباقي بالتوقيت المحلي
console.log (تاريخ جديد ('7/12/2016')) 12 يوليو 2016 08:00:00 بتوقيت جرينتش+0800 (الصين التوقيت القياسي)【4】 يمكن أن تقبل دالة Date () المعلمات المشابهة لتلك الخاصة بـ Date.UTC () ، ولكن طريقة Date.UTC () تُرجع عدد من المللي ثانية ووقت UTC ، بينما تُرجع دالة التاريخ () كائن وتوقيت محلي
console.log (تاريخ جديد (2016،7،12)) التاريخ (2016،7،12)) ؛ // 'object'console.log (date.UTC (2016،7،12))
[ملاحظة] عند استخدام طريقة مشابهة لدالة Date.Parse () ، إذا كان كائن التاريخ خارج النطاق ، فسيقوم المتصفح بحساب التاريخ تلقائيًا في قيمة ضمن النطاق ؛ عند استخدام طريقة مشابهة لدالة Date.UTC () ، إذا كان كائن التاريخ خارج النطاق ، فسيطلب المتصفح تاريخًا غير صالح
Console.log (تاريخ جديد (2016،7،32)) ؛ // Thu Sep 01 2016 00:00:00 GMT+0800 (China Standard Time) Console.log (تاريخ جديد (2016،8،1)) dateconsole.log (تاريخ جديد ('2016-9-1'))مثال طريقة
لا يحتوي كائن التاريخ على خصائص يمكن قراءتها وكتابتها مباشرة ، ويجب تمرير جميع الوصول إلى التواريخ والأوقات عبر الطرق. يتم تقسيم معظم طرق الكائنات التاريخ إلى نموذجين: الأول هو استخدام الوقت المحلي والآخر هو استخدام وقت UTC ، والتي يتم سردها معًا أدناه. على سبيل المثال ، يمثل Get [UTC] Day () كل من GetDay () و GetUtcday ()
هناك 46 طريقة مثيل في كائن التاريخ ، والتي يمكن تقسيمها إلى الفئات الثلاثة التالية: إلى الفصل ، والحصول على الفصل ، وضبط الفصل
【إلى الفصل】
تُرجع طريقة الفئة إلى سلسلة من كائن التاريخ ، مما يشير إلى الوقت المحدد
tostring ()
إرجاع سلسلة تاريخ المنطقة الزمنية المحلية
TOUTCSTRING ()
إرجاع سلسلة تاريخ وقت UTC
tisostring ()
إرجاع سلسلة تنسيق سلسلة التاريخ القياسية لكائن التاريخ
totimestring ()
إرجاع السلسلة التي تُرجع الجزء الزمني من كائن التاريخ
توجسون ()
إرجاع سلسلة تاريخ تتوافق مع تنسيق JSON ، وهو بالضبط نفس نتيجة الإرجاع لطريقة tisostring
console.log (تاريخ جديد ('2016-7-12'). ToString ()) ؛ // Tue Jul 12 2016 00:00:00 GMT+0800 (China Standard Time) Console.log (تاريخ جديد ('2016-7-12'). التاريخ ('2016-7-12'). tisosstring ()) ؛ // 2016-07-11T16: 00: 00.000zconsole.log (تاريخ جديد ('2016-7-12). (الصين القياسي التوقيت) Console.log (تاريخ جديد ('2016-7-12'). tojson ()) ؛ // 2016-07-11T16: 00: 00.000Ztolocalestring ()
التحويل الموضعي لطريقة tostring ()
tolocaletimestring ()
التحويل الموضعي لطريقة totimestring ()
tolocaledatestring ()
التحويل الموضعي لطريقة todatestring ()
console.log (تاريخ جديد ('2016-7-12'). tostring ()) التاريخ ('2016-7-12'). todatestring ()) ؛ // Tue Jul 12 2016console.log (تاريخ جديد ('2016-7-12) الوقت) console.log (تاريخ جديد ('2016-7-12'). tolocaletimestring ()) ؛ // 12:00:00 صباحًا【احصل على الفصل】
يوفر كائن التاريخ سلسلة من أساليب فئة GET للحصول على قيمة جانب معين من كائن المثيل.
قبل تقديم طريقة GET CLASS ، يجب أولاً تقديم طريقة ValueOF ()
قيمة ()
إرجاع عدد المللي ثانية من الساعة 0:00 في 1 يناير 1970
لذلك ، من المريح استخدام مشغل المقارنة لمقارنة قيم التاريخ
var date1 = تاريخ جديد (2007،0،1) ؛ var date2 = تاريخ جديد (2007،1،1) ؛ console.log (date1> date2) ؛ // falseconsole.log (date1 <date2) ؛ // true
GetTime ()
إرجاع عدد ميلي ثانية من الساعة 0:00 في 1 يناير 1970 ، نفس القيمة ()
قبل ECMASCRIPT5 ، يمكنك استخدام طريقة getTime () لتنفيذ DATE.NOW ()
Date.Now = function () {return (New Date ()). GetTime ()}getTimeZoneOffset ()
إرجاع فرق المنطقة الزمنية بين الوقت الحالي و UTC ، معبراً عنه في دقائق (8*60 = 480 دقيقة). تأخذ نتيجة الإرجاع في الاعتبار عوامل الوقت لتوفير وضح النهار.
console.log (تاريخ جديد ('2016-7-12'). valueof ()) ؛ // 1468252800000Console.log (تاريخ جديد ('2016-7-12'). getTime ())getyear ()
يعيد عدد السنوات من عام 1900 (عفا عليها الزمن)
احصل
سنة العودة (4 أرقام)
احصل على [UTC] الشهر ()
العودة إلى الشهر (0-11)
احصل على [UTC] Date ()
العودة إلى أي يوم (1-31)
احصل على [UTC] Day ()
العودة إلى يوم الأسبوع (0-6)
احصل على [UTC] ساعات ()
قيمة ساعة العودة (0-23)
احصل على الدقائق [UTC] ()
إرجاع القيمة الدقيقة (0-59)
احصل على [UTC] ثواني ()
إرجاع القيمة الثانية (0-59)
احصل على [UTC] milliseconds ()
عودة قيمة المللي ثانية (0-999)
[ملاحظة] يتم تعيين وقت UTC بواسطة سلسلة تنسيق التاريخ والوقت القياسي وله إعدادات المعلمة في شكل ما قبل 0.
console.log (تاريخ جديد ('2016-07-12T10: 00'). getyear ()) ؛ // 116Console.log (تاريخ جديد ('2016-07-12T10: 00'). التاريخ ('2016-07-12T10: 00'). getMonth ()) ؛ // 6console.log (تاريخ جديد ('2016-07-12T10: 00'). getutcmonth ()) ؛ التاريخ ('2016-07-12T10: 00'). getUtcDate ()) ؛ // 2console.log (تاريخ جديد ('2016-07-12T10: 00') التاريخ ('2016-07-12T10: 00'). gethours ()) ؛ // 18console.log (تاريخ جديد ('2016-07-12T10: 00'). getutchours () التاريخ ('2016-07-12T10: 00'). getutcminutes ()) ؛ // 0console.log (تاريخ جديد ('2016-07-12T10: 00'). getSeconds ()) ؛ // 0console.log (تاريخ جديد ('2016-07-12T10: 00'). getutcseconds () ؛ التاريخ ('2016-07-12T10: 00'). getMilliseconds ()) ؛ // 0console.log (تاريخ جديد ('2016-07-12T10: 00'). getutcmilliseconds ()) ؛ // 0// الوقت الحالي هو 16: 35Console.log (تاريخ جديد (). gethours ()) ؛ // 16console.log (تاريخ جديد ().
【تعيين فئة】
يوفر كائن التاريخ سلسلة من أساليب فئة SET لتعيين جوانب مختلفة من كائن المثيل.
تتوافق طريقة SET بشكل أساسي مع طريقة GET. تمر طريقة SET في معلمة مشابهة لـ DIATE.UTC () وإرجاع عدد المللي ثانية الداخلية من التاريخ المعدل
[ملاحظة] احصل عليه فقط في الأسبوع ، ولم يتم تعيينه
settime ()
استخدم تنسيق millisecond لتعيين قيمة كائن التاريخ
var d = تاريخ جديد ('2016-07-12T10: 00') ؛ console.log (D.Settime (86400000) ، D) ؛ // 86400000 Fri Jan 02 1970 08:00:00 GMT+0800 (China Standard Time)setyear ()
السنة المحددة (عفا عليها الزمن)
var d = تاريخ جديد ('2016-07-12T10: 00') ؛ console.log (D.Setyear (2000) ، D ، D.Getyear ()) ؛ // 963396000000 red 12 يوليو 2000تعيين [UTC] Sminikear ()
تعيين السنة (4 أرقام) ، وقيم الشهر والتاريخ الاختياري
تعيين [UTC] الشهر ()
ضبط الشهر (0-11) ، وقيم التاريخ الاختيارية
تعيين [UTC] Date ()
حدد اليوم (1-31)
var d = تاريخ جديد ('2016-07-12T10: 00') ؛ console.log (d.setlyear (2015،1،1) ، d.getlyear ()) ؛ // 1422784800000 2015Console.log (D.Stonth (2) ، D.GetMonth ()) ؛ // 142520400000000000000000000 2Console.log (D.SetDate (20) ، D.GetDate ()) ؛ // 1426845600000 20Console.log (D.Tolocalestring ()) ؛ // 2015/3/20 6:00:00 PMتعيين [UTC] ساعات ()
تعيين قيم ساعة (0-23) ، وكذلك قيم الدقائق الاختيارية والقيم الثانية وقيم المللي ثانية
تعيين [UTC] دقيقة ()
اضبط القيمة الدقيقة (0-59) ، بالإضافة إلى القيمة الثانية الاختيارية وقيمة المللي ثانية
تعيين [UTC] ثواني ()
اضبط القيمة الثانية (0-59) ، وقيمة ميلي ثانية اختيارية
تعيين [UTC] milliseconds ()
تعيين قيمة ميلي ثانية (0-999)
var d = تاريخ جديد ('2016-07-12T10: 20: 30') ؛ console.log (d.sethours (1،2،3) ، d.gethours ()) ؛ // 1468256523000 1Console.log (D.SetMinutes (2،3) ، D.GetMinutes ()) ؛ // 14682523000 2Console.log (D.SetSeconds (3) ، D.GetSeconds ()) ؛ // 1468256523000 3Console.log (D.Tolocaletimestring ()) // 1:02:03 AM var d = تاريخ جديد ('2016-07-12T10: 20: 30') ؛ console.log (d.setutchours (1،2،3) ، d.gethours ()) ؛ // 1468285323000 9console.log (d.setutcminutes (2،3) ، d.getMinutes ()) ؛ 2console.log (D.SetUtcSeconds (3) ، D.GetSeconds ()) ؛ // 1468285323000 3Console.log (D.Tolocaletimestring ()) // 9:02:03 AMالمقالة أعلاه حول نظام نوع JavaScript - فهم شامل لكائن تاريخ التاريخ هو كل المحتوى الذي شاركته معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.