Ext.date هي singleton التي تغلف سلسلة من وظائف تشغيل التاريخ وتمتد وظائف تاريخ JavaScript. يسرد ما يلي بعض الوظائف الشائعة الاستخدام.
الوظائف الأساسية:
دعنا نلقي نظرة على بعض الأمثلة بالتفصيل أدناه:
// ext.date.add (التاريخ ، الفاصل ، القيمة) إضافة أو تقليل الوقت حتى الآن. لا تغير هذه الوظيفة قيمة كائن التاريخ الأصلي ، ولكنها تقوم بإرجاع كائن تاريخ جديد. // param {date} تاريخ التاريخ الأصلي. //param {string} وحدة القيمة الفاصلة ، يمكنك اختيار ext.date.day ، ext.date.hour ، ext.date.minute ، ext.date.month ، // ext.date.second ، ext.date.year ، ext.date.milli. // param {number} القيمة القيمة التي يجب إضافتها كائن التاريخ. // regurn {date} إرجاع كائن التاريخ بعد القيمة المضافة. // مثال var date = ext.date.add (تاريخ جديد ('10/29/2006 ') ، ext.date.day ، 5) ؛ // إضافة 5 أيام console.log (التاريخ) ؛ // نتيجة الإرجاع الجمعة 03 نوفمبر 2006 00:00:00 بتوقيت جرينتش+0800 (توقيت الصين القياسي) var date = ext.date.add (تاريخ جديد ('10/29/2006 ') ، ext.date.day ، -5) ؛ // قلل 5 أيام ، إذا كانت القيمة سالبة ، فسوف تنخفض. console.log (التاريخ) ؛ // Return Return Tue Oct 24 2006 00:00:00 GMT+0800 (China Standard Time) var date = ext.date.add (تاريخ جديد ('10/29/2006 ') ، ext.date.year ، 2) ؛ // إضافة 2 سنوات console.log (التاريخ) ؛ // نتيجة الإرجاع الأربعاء 29 أكتوبر 2008 00:00:00 بتوقيت جرينتش+0800 (الصين التوقيت القياسي) // ext.date.between (التاريخ ، البدء ، النهاية) تحديد ما إذا كان التاريخ بين البداية والنهاية. //param {date} تاريخ الحكم. //param {date} start //param {date} end // @return {boolean} إذا كان التاريخ يرجع صحيحًا بين البدء والنهاية ، وإلا بإرجاع خطأ. // مثال VAR DATE = تاريخ جديد ('10/29/2006 ') ؛ var start = تاريخ جديد ('10/5/2006 ') ؛ var end = تاريخ جديد ('11/15/2006 ') ؛ ext.date.between (التاريخ ، البدء ، النهاية) ؛ // return true // ext.date.cleartime (date ، clone) قم بتعيين الوقت من التاريخ إلى 00 ساعة ، 00 دقيقة ، 00 ثانية ، 000 مللي ثانية. //param {date} Date //param {bollean} clone parameters. إذا كان ذلك صحيحًا ، فسيتم إرجاع نسخة من التاريخ ، وإذا كان خطأ ، يتم إرجاع التاريخ نفسه ، وهو ما يتخلف عن سداد. // regurn {date} إرجاع تاريخ تعيين. // مثال VAR DATE = تاريخ جديد ('10/30/2012 14:30:00 ') ؛ ext.date.cleartime (التاريخ) ؛ . // param {date} Date // regurn {date} إرجاع التاريخ المستنسخ. // مثال var orig = تاريخ جديد ('10/30/2012 ') ؛ var copy = ext.date.clone (Orig) ؛ // استنساخ قيمة // ext.date.format (التاريخ ، التنسيق) تنسيق التاريخ وإرجاع السلسلة المنسقة. // param {date} تاريخ التاريخ. //param {String} تنسيق تاريخ التنسيق ، Y year ، m-month ، d-day ، h-24 ساعة ، i-minute ، s-seconds // regurn {string} إرجاع السلسلة المنسقة. // مثال VAR DATE = تاريخ جديد ('10/20/2012 14:30:00 ') ؛ ext.date.format (Date ، 'Ymd H: i: s') ؛ // 2012-10-20 14:30:00 ext.date.format (Date ، 'Y Year M Month D Date H: i: S') ؛ // 20 أكتوبر ، 2012 14:30:00 // ext.date.getdayofyear (التاريخ) احصل على تاريخ العام // param {date} تاريخ التاريخ. // regurn {number} إرجاع عدد الأيام ، مع نطاق قيمة من 0 ~ 364 ، وإذا كانت سنة قفزة ، فهناك 365. ext.date.getdayofyear (التاريخ) ؛ // إرجاع 293 // ext.date.getDaySinth (التاريخ) الحصول على التاريخ هو يوم الشهر // param {date} تاريخ التاريخ. // regurn {number} إرجاع عدد الأيام. // مثال VAR DATE = تاريخ جديد ('10/20/2012 14:30:00 ') ؛ ext.date.getdayofyear (التاريخ) ؛ // إرجاع 31 // ext.date.getFirstDateOfMonth (التاريخ) الحصول على اليوم الأول من الشهر حيث يوجد التاريخ //param {date} تاريخ تاريخ. // regurn {date} إرجاع اليوم الأول من الشهر. // مثال VAR DATE = تاريخ جديد ('10/20/2012 14:30:00 ') ؛ ext.date.getFirstDateOfMonth (التاريخ) ؛ // إرجاع الاثنين 01 أكتوبر 2012 00:00:00 بتوقيت جرينتش+0800 (الصين التوقيت القياسي) // ext.date.getfirstdayofmonth (التاريخ) احصل على أسبوع اليوم الأول من الشهر حيث يوجد التاريخ //param {date} تاريخ تاريخ. // regurn {number} إرجاع أسبوع اليوم الأول من الشهر ، مع نطاق قيمة من 0 ~ 6. // مثال VAR DATE = تاريخ جديد ('10/20/2012 14:30:00 ') ؛ ext.date.getFirstDayOfMonth (التاريخ) ؛ // Return 1 ، تشير إلى الاثنين // ext.date.getlastdateofmonth (التاريخ) احصل على آخر يوم من الشهر حيث يوجد التاريخ // param {date} تاريخ تاريخ. // regurn {date} إرجاع اليوم الأخير من الشهر الذي تكون فيه. ext.date.getLastDateOfMonth (التاريخ) ؛ // إرجاع الأربعاء 31 أكتوبر 2012 00:00:00 بتوقيت جرينتش+0800 (الصين التوقيت القياسي) // ext.date.getlastdayofmonth (التاريخ) احصل على أسبوع اليوم الأخير من الشهر حيث يوجد التاريخ //param {date} تاريخ تاريخ. // regurn {number} إرجاع أسبوع اليوم الأخير من الشهر ، مع نطاق قيمة من 0 ~ 6. // مثال VAR DATE = تاريخ جديد ('10/20/2012 14:30:00 ') ؛ ext.date.getlastdayofmonth (التاريخ) ؛ // Return 3 ، تشير إلى الأربعاء // ext.date.getweekofyear (التاريخ) الحصول على الأسبوع من العام الذي يوجد فيه التاريخ // param {date} تاريخ تاريخ. // regurn {number} إرجاع الأسبوع من العام ، مع نطاق قيمة قدره 1 ~ 53. // مثال VAR DATE = تاريخ جديد ('10/20/2012 14:30:00 ') ؛ ext.date.getweekofyear (التاريخ) ؛ // إرجاع 42 // ext.date.isleapyear (التاريخ) هو السنة التي يوجد فيها التاريخ؟ // param {date} تاريخ التاريخ. . // مثال VAR DATE = تاريخ جديد ('10/20/2012 14:30:00 ') ؛ ext.date.isleapyear (التاريخ) ؛ // return true // ext.date.now () إرجاع عدد المللي ثانية من الوقت الحالي إلى 1 يناير 1970. // regurn {number} إرجاع عدد المللي ثانية. // مثال var timestamp = ext.date.now () ؛ // 1351666679575 var date = تاريخ جديد (timestamp) ؛ // الأربعاء 31 أكتوبر 2012 14:57:59 GMT+0800 (الصين التوقيت القياسي) // ext.date.parse (المدخلات ، التنسيق ، الصارم). // param {String} سلسلة تاريخ الإدخال. //param {String} تنسيق تاريخ التنسيق. // param {boolean} التحقق الصارم صحة سلسلة الإدخال ، وهو خطأ بشكل افتراضي. // param {date} إرجاع تاريخ الإنشاء. // مثال على الإدخال = '31 أكتوبر 2012 14:30:00' ؛ var format = 'y year m month d day h: i: s' ؛ var date = ext.date.parse (الإدخال ، التنسيق ، صحيح) ؛ // الأربعاء 31 أكتوبر 2012 14:30:00 بتوقيت جرينتش+0800 (الصين التوقيت القياسي)مثال: تنفيذ التحكم في اختيار التاريخ مع الأسبوع (الأسبوع)
1. السؤال:
هل يمكنك حل مشكلة الأسبوع بشكل مثالي باستخدام Ext JS؟
في المقال الأول من هذه السلسلة ، يقال إنه لا يمكن رؤية DatePicker من Ext للأسبوع ويجب توسيعه بنفسه.
ومع ذلك ، هناك مشكلة عند التوسع:
تبدأ كائنات تاريخ لغة JavaScript يوم الأحد كل أسبوع.
ومع ذلك ، فإن طريقة GetWeekofyear Ext JS تتبع ISO-8601 ، وتبدأ كل أسبوع من الاثنين. (هناك طرق أخرى لا تتبع هذا المعيار ، يمزج Ext JS معايير تمثيل التاريخ والوقت المختلفة).
ext.date.getWeekofyear قيمة إرجاع هذه الطريقة هي رقم بين 1 و 53.
بهذه الطريقة ، ستنشأ بعض المشاكل:
يبدأ عرض التحكم في عرض التاريخ لـ Ext JS يوم الأحد: (SMTWTFS (الأحد الاثنين يوم الثلاثاء .. السبت))
ومع ذلك ، عندما تحصل على الأسبوع بحلول الوقت المحدد ، يبدأ من يوم الأحد. يؤدي إلى:
سيكون كل يوم أحد أقل (على سبيل المثال ، يوم الأحد ، 2013/08/18 ، يجب أن يكون 34 أسبوعًا ، ولكن يتم حساب هذه الطريقة على أنها نهاية الأسبوع السابق ، 33 أسبوعًا)
التاريخ = تاريخ جديد ("2013/08/18") ؛
var week = ext.date.getweekofyear (date) ؛
ALERT ("Week ="+Week) ؛
يتم عرض التحكم في تاريخ Ext JS لمدة 42 يومًا بشكل افتراضي ، لذلك ستكون هناك مشاكل في التفاعل بين عامين.
هل هو 53 أسبوعا في ذلك العام؟ لا يزال الأسبوع الأول من العام المقبل.
2. الحل:
الجمع بين كائن تاريخ JS و ext.date من ext JS ، ندرك الاستحواذ على سلسلة الأسبوع.
الأحد هو اليوم الأول من كل أسبوع
عدد الأسابيع في السنة من (1-52). إذا تجاوز 52 أسبوعًا ، فسيتم حسابه في الأسبوع الأول من العام المقبل. على سبيل المثال ، 2013/12/29 هو 53 أسبوعًا من عام 2013 ، والذي يتم حسابه حتى الأسبوع الأول من عام 2014.
العودة إلى تنسيق الأسبوع مثل "W1334"
] الأسبوع = الأسبوع - 52 ؛ * 3. إذا شهر == 11 (12 شهرًا) والأسبوع <2 ==> السنة = السنة +1 ؛ */function getWeekstrofDate (date) {var weekstr = null ؛ if (date! = null) {weekstr = "w" ؛ var dateyear = date.getlyear () ؛ var dateweek = ext.date.getweekofyear (date) ؛ var firstdayofmonth = ext.date.getFirstDayOfMonth (Date) ؛ var day = date.getDate () ؛ var month = date.getMonth () ؛ // أيام الأسبوع 0-6 var dayday = date.getday () ؛ if (weekday === 0) {DateWeek ++ ؛ } // week> 52 ==> year +1 if (month == 11) {if (dateWeek> 52) {dateyear += 1 ؛ DateWeek -= 52 ؛ } آخر إذا (DateWeek <2) {dateyear += 1 ؛ }} var yeartr = dateyear.toString () ؛ yearstr = yeartstr.substring (2،4) ؛ var dateweekstr = dateweek.toString () ؛ if (dateWeekstr.Length <2) {dateWeekstr = "0" + DateWeekstr ؛ } weekstr += yearstr ؛ WeekStr += DateWeekstr ؛ } عودة الأسابيع ؛}