Ext.Date - это синглтон, который инкапсулирует серию функций работы даты и расширяет функции даты JavaScript. В следующем перечислены некоторые обычно используемые функции.
Основные функции:
Давайте подробно рассмотрим некоторые примеры ниже:
// ext.date.add (дата, интервал, значение) добавить или уменьшить время к настоящему времени. Эта функция не изменяет значение исходного объекта Date, но возвращает новый объект Date. // @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} значение значение, которое необходимо добавить объект даты. // @return {date} возвращает объект даты после добавленного значения. // Пример var date = ext.date.add (новая дата ('10/29/2006 '), ext.date.day, 5); // добавить 5 дней консоли.log (date); // Результат возврата пт 03 ноября 2006 г. 00:00:00 GMT+0800 (стандартное время Китая) var date = ext.date.add (новая дата ('10/29/2006 '), ext.date.day, -5); // уменьшить 5 дней, если значение отрицательно, оно уменьшится. console.log (дата); // Вторник результатов вторник 24 октября 2006 г. 00:00:00 GMT+0800 (стандартное время Китая) var date = ext.date.add (новая дата ('10/29/2006 '), ext.date.year, 2); // добавить 2 года консоли.log (date); // Результат возврата ср 29 октября 2008 г. 00:00:00 GMT+0800 (стандартное время Китая) // ext.date.ween (дата, начало, конец) определить, находится ли дата между началом и конец. // @param {date} дата дата, которая должна быть оценена. // @param {date} start // @param {date} end // @return {boolean}, если дата возвращает истину между началом и эндом, иначе верните false. // Пример var date = новая дата ('10/29/2006 '); var start = новая дата ('10/5/2006 '); var end = новая дата ('11/15/2006 '); Ext.date.weedween (дата, начало, конец); // return true // ext.date.cleartime (дата, клон) Установите время даты на 00 часов, 00 минут, 00 секунд, 000 миллисекунд. // @param {date} date // @param {bolyean} клон Необязательные параметры. Если это правда, возвращается копия даты, и, если неверно, сама дата возвращается, которая по умолчанию по умолчанию. // @return {date} возвращает дату установки. // Пример var date = новая дата ('10/30/2012 14:30:00 '); Ext.date.cleartime (date); // возврат вт 30 октября 2012 г. 00:00:00 GMT+0800 (стандартное время Китая) // ext.date.clone (дата) копия даты клонированной. // @param {date} date // @return {date} возвращает клонированную дату. // Пример var Orig = новая дата ('10/30/2012 '); var copy = ext.date.clone (Orig); // клон a value // ext.date.format (date, format) Формат даты и вернуть форматированную строку. // @param {date} дата дата. // @param {string} формат формата даты, Y-Year, M-Month, D-Day, H-24 часов, i-minute, s-seconds // @return {string} возвращает форматированную строку. // Пример var date = новая дата ('10/20/2021 14:30:00 '); Ext.date.format (date, 'ymd h: i: s'); // 2012-10-20 14:30:00 Ext.Date.format (дата, год M Месяц D Дата H: I: S '); // 20 октября 2012 г. 14:30:00 // ext.date.getDayOfyear (дата) Получить дату года // @param {date} Дата дата. // @return {номер} возвращает количество дней с диапазоном значений 0 ~ 364, и если это легальный год, есть 365. // Пример VAR DATE = новая дата ('10/20/2021 14:30:00 '); Ext.date.getDayOfyear (дата); // return 293 // ext.date.getdaysinmonth (date) Получить дату - день месяца // @param {date} Дата дата. // @return {номер} возвращает количество дней. // Пример var date = новая дата ('10/20/2021 14:30:00 '); Ext.date.getDayOfyear (дата); // return 31 // ext.date.getFirstDateOfMonth (дата) Получите первый день месяца, когда дата находится // @param {date} Дата дата. // @return {date} возвращает первый день месяца. // Пример var date = новая дата ('10/20/2021 14:30:00 '); Ext.date.getFirstDateOfmonth (date); // возвращать понедельник 01 октября 2012 г. 00:00:00 GMT+0800 (стандартное время Китая) // ext.date.getFirstDayOfmonth (дата) Получить неделю первого дня месяца, когда дата находится // @param {дата} Дата даты. // @return {номер} возвращает неделю первого дня месяца с диапазоном значений 0 ~ 6. // Пример var date = новая дата ('10/20/2021 14:30:00 '); Ext.date.getfirstdayofmonth (date); // Возврат 1, указывая на понедельник // ext.date.getlastdateofmonth (дата) Получите последний день месяца, когда дата находится // @param {date} Дата дата. // @return {date} возвращает последний день месяца, в котором вы находитесь. // Пример VAR DATE = Новая дата ('10/20/2012 14:30:00 '); Ext.date.getlastdateofmonth (date); // Возврат ср 31 октября 2012 г. 00:00:00 GMT+0800 (стандартное время Китая) // ext.date.getlastdayofmonth (дата) Получите неделю последнего дня месяца, когда дата находится // @param {Дата} Дата даты. // @return {номер} возвращает неделю последнего дня месяца с диапазоном значений 0 ~ 6. // Пример var date = новая дата ('10/20/2021 14:30:00 '); Ext.date.getlastdayofmonth (date); // return 3, указав в среду // ext.date.getweekofyear (дата) Получить неделю года, в которой находится дата // @param {date} Дата дата. // @return {номер} возвращает неделю года с диапазоном значений 1 ~ 53. // Пример var date = новая дата ('10/20/2021 14:30:00 '); Ext.date.getweekofyear (дата); // возврат 42 // ext.date.isleapyear (дата) год, когда дата находится? // @param {date} дата дата. // @return {boolean} true означает перейный год, ложный сознательный год. // Пример var date = новая дата ('10/20/2021 14:30:00 '); Ext.date.isleapyear (дата); // return true // ext.date.now () Возвращает количество миллисекундов с текущего времени до 1 января 1970 года. // date.now () уже реализует ту же функцию в Chrome, IE9 и IE10. // @return {номер} возвращает количество миллисекундов. // Пример var TimeStamp = Ext.Date.now (); // 1351666679575 var date = новая дата (TimeStamp); // Ср 31 октября 2012 г. 14:57:59 GMT+0800 (стандартное время Китая) // ext.date.parse (вход, формат, строгий) date.parse () имеет аналогичные функции в соответствии с датой создания входной строки. // @param {String} Строка даты ввода. // @param {string} формат формата даты. // @param {boolean} Строгие проверки достоверности входной строки, которая по умолчанию является ложным. // @param {date} возвращает дату творения. // Пример var input = '31 октября 2012 г. 14:30:00'; var format = 'y Год М месяц D День h: i: s'; var date = ext.date.parse (input, format, true); // Ср 31 октября 2012 г. 14:30:00 GMT+0800 (стандартное время Китая)Пример: реализация контроля выбора даты на неделе (неделя)
1. Вопрос:
Можете ли вы идеально решить проблему недели, используя Ext JS?
В первой статье этой серии говорится, что DatePicker Ext не может быть замечен на неделю и должен быть расширен сам.
Тем не менее, есть проблема при расширении:
Язык JavaScript Объекты даты начинаются по воскресеньям каждую неделю.
Тем не менее, метод Ext JS GetWeekOfyear следует за ISO-8601 и начинается каждую неделю с понедельника. (Существуют и другие методы, которые не следуют этому стандарту, Ext JS смешивает разные стандарты даты и времени).
Ext.date.getweekofyear возвращаемое значение этого метода составляет число от 1 до 53.
Таким образом, возникнут некоторые проблемы:
Отображение даты управления дисплеем EXT JS начинается в воскресенье: (SMTWTFS (воскресенье в понедельник вторник .. Суббота))
Однако, когда вы получаете неделю к выбранному времени, он начинается с воскресенья. привести к:
Каждое воскресенье будет на 1 меньше (например, в воскресенье, 2013/08/18, это должно быть 34 недели, но этот метод рассчитывается как конец предыдущей недели, 33 недели))
Дата = новая дата ("2013/08/18");
var week = ext.date.getweekofyear (date);
оповещение ("неделя ="+неделя);
Управление датой EXT JS отображается в течение 42 дней по умолчанию, поэтому в взаимодействии будут проблемы в взаимодействии между двумя годами.
Это 53 недели в этом году? Это все еще первая неделя следующего года.
2. Решение:
Сочетая объект Date of JS и Ext.Date of Ext JS, мы понимаем приобретение строки недели.
Воскресенье - первый день каждой недели
Количество недель в год от (1-52). Если он превышает 52 недели, это будет рассчитан на первую неделю следующего года. Например, 2013/12/29 - это 53 неделя 2013 года, которая учитывается в первой неделе 2014 года.
Вернуться к формату недели, как "W1334"
/ * * Возврат как w1334 () 2013/08/20 * 1. Если воскресенье ==> неделя = неделя +1 * getWeekOfyear (EXT Использование ISO-8601, неделя начала месяца) * Дата JS (неделя начинается воскресенье) * 2. Если неделя> 52 ==> Год = год +1; неделя = неделя - 52; * 3. Если месяц == 11 (12 месяцев) и неделя <2 ==> Год = год +1; */function getWeeKStrofDate (date) {var Weekstr = null; if (date! = null) {Weekstr = "w"; var Dateyear = date.getEar (); var dateweek = ext.date.getweekofyear (date); var FirstDayOfMonth = Ext.Date.getFirstDayOfMonth (date); var day = date.getDate (); var month = date.getmonth (); // Weekday 0-6 var Weekday = date.getDay (); if (Weekday === 0) {dateWeek ++; } // неделя> 52 ==> Год +1 if (месяц == 11) {if (dateweek> 52) {dateear += 1; DateWeek -= 52; } else if (dateweek <2) {dateyear += 1; }} var yearstr = dateyear.toString (); MASTRSTR = MASTR.SubString (2,4); var DateWeekStr = dateWeek.toString (); if (dateweekstr.length <2) {dateWeekStr = "0" + dateWeekStr; } недели += годы; Weekstr += dateWeekstr; } return Weekstr;}