Ext.Date는 일련의 날짜 작동 기능을 캡슐화하고 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} 날짜 객체를 추가 해야하는 값의 값. // @return {date} 부가 값 후 날짜 객체를 반환합니다. // 예제 var date = ext.date.add (새 날짜 ('10/29/2006 '), ext.date.day, 5); // 5 일 Console.log (날짜)를 추가합니다. // 반환 결과 FRI 2006 년 11 월 3 일 00:00:00 GMT+0800 (중국 표준 시간) var date = ext.date.add (새 날짜 ('10/29/2006 '), ext.date.day, -5); // 값이 음수이면 5 일을 줄이면 감소합니다. Console.log (날짜); // 리턴 결과 tue 2006 년 10 월 24 일 00:00:00 GMT+0800 (중국 표준 시간) var date = ext.date.add (새 날짜 ('10/29/2006 '), ext.date.year, 2); // 2 년 Console.log (날짜) 추가; // 반환 결과 WED 2008 년 10 월 29 일 00:00:00 GMT+0800 (중국 표준 시간) // ext.Date.Bet (Date, Start, End) 날짜가 시작과 종료 사이에 있는지 여부를 결정합니다. // @param {date} 날짜 판단 날짜. // @param {date} start // @param {date} end // @return {boolean} 날짜가 시작과 종료 사이에 true를 반환하는 경우, 그렇지 않으면 false를 반환합니다. // 예제 var date = 새 날짜 ('10/29/2006 '); var start = 새 날짜 ('10/5/2006 '); var end = 새 날짜 ('11/15/2006 '); ext.date.betwen (날짜, 시작, 종료); // true // ext.date.cleartime (날짜, 복제)을 00 시간, 00 분, 00 초, 000 밀리 초로 설정합니다. // @param {date} date // @param {bollean} 복제 선택적 매개 변수. true 인 경우, 날짜 사본이 반환되고 False 인 경우 날짜 자체가 반환되며, 기본값은 거짓으로 반환됩니다. // @return {date} 설정 날짜를 반환합니다. // 예제 var date = 새 날짜 ('10/30/2012 14:30:00 '); ext.date.cleartime (날짜); // TUE TUE TUE 2012 년 10 월 30 일 00:00:00 GMT+0800 (중국 표준 시간) // ext.date.clone (날짜) 복제 된 날짜 사본. // @param {date} date // @return {date} 복제 된 날짜를 반환합니다. // 예제 var orig = 새 날짜 ('10/30/2012 '); var copy = ext.date.clone (orig); // 값을 복제 // ext.date.format (date, format) 형식을 날짜를 형식화하고 형식화 된 문자열을 반환합니다. // @param {date} 날짜 날짜. // @param {string} 형식 날짜 형식, y 년, M 개월, d-day, h-24 시간, i 분, s-seconds // @return {string} 형식의 문자열을 반환합니다. // 예제 var date = 새 날짜 ('10/20/2012 14:30:00 '); ext.date.format (날짜, 'ymd h : i : s'); // 2012-10-20 14:30:00 Ext.Date.format (날짜, 'y 년 // 2012 년 10 월 20 일 14:30:00 // ext.date.getDayofyear (날짜) 연도 날짜를 가져옵니다 // @param {date} 날짜. // @return {number}는 값 범위가 0 ~ 364 인 일의 수를 반환하며, 도약 연도 인 경우 365가 있습니다. // var date = new 날짜 ('10/20/2012 14:30:00 '); ext.date.getDayofyear (날짜); // return 293 // ext.date.getDaysInmonth (날짜) 날짜를 가져옵니다. // @return {number} 일수를 반환합니다. // 예제 var date = 새 날짜 ('10/20/2012 14:30:00 '); ext.date.getDayofyear (날짜); // return 31 // ext.date.getFirstDateofmonth (날짜) 날짜가있는 달의 첫날을 받으십시오. // @param {date} 날짜. // @return {date}은 월 첫날을 반환합니다. // 예제 var date = 새 날짜 ('10/20/2012 14:30:00 '); ext.date.getFirstDateofmonth (날짜); // 반품 월 MON 10 월 1 일 00:00:00 GMT+0800 (중국 표준 시간) // ext.date.getFirstdayofmonth (날짜) 날짜가 위치한 월의 첫날을 받으십시오. // @param {date} 날짜. // @return {number}는 값 범위가 0 ~ 6으로 달의 첫날 주를 반환합니다. // 예제 var date = 새 날짜 ('10/20/2012 14:30:00 '); ext.date.getfirstdayofmonth (날짜); // return 1, monday // ext.date.getLastDateofmonth (날짜) 날짜가있는 달의 마지막 날을 받으십시오. // @param {date} 날짜 날짜. // @return {date}에있는 마지막 날을 반환합니다. // 예 var date = new 날짜 ('10/20/2012 14:30:00 '); ext.date.getLastDateOfMonth (날짜); // 수요일 수요일 수요일 10 월 31 일 00:00:00 GMT+0800 (중국 표준 시간) // ext.date.getLastdayOfmonth (날짜) 날짜가 위치한 달의 마지막 날을 받으십시오. // @param {date} 날짜. // @return {number}는 달의 마지막 날 주를 0 ~ 6로 반환합니다. // 예제 var date = 새 날짜 ('10/20/2012 14:30:00 '); ext.date.getLastdayOfMonth (날짜); // return 3, 수요일을 표시하십시오. // @return {number}는 1 ~ 53의 값 범위로 연중 주를 반환합니다. // 예제 var date = 새 날짜 ('10/20/2012 14:30:00 '); ext.date.getWeekOfyear (날짜); // return 42 // ext.date.isleapyear (날짜) 날짜가 위치한 해입니까? // @param {date} 날짜 날짜. // @return {boolean} true는 도약을 의미하며, 허위는 연도를 의미합니다. // 예제 var date = 새 날짜 ('10/20/2012 14:30:00 '); ext.date.isleapyear (날짜); // true // ext.date.now ()는 현재 시간에서 1970 년 1 월 1 일로 밀리 초 수를 반환합니다. // date.now ()는 이미 Chrome, IE9 및 IE10에서 동일한 함수를 구현합니다. // @return {number}는 밀리 초 수를 반환합니다. // 예제 var timestamp = ext.date.now (); // 1351666679575 var date = 새 날짜 (타임 스탬프); // 2012 년 10 월 31 일 수요일 14:57:59 GMT+0800 (중국 표준 시간) // ext.date.parse (입력, 형식, strict) date.parse ()는 입력 문자열 생성 날짜에 따라 비슷한 함수를 갖습니다. // @param {string} 입력 날짜 문자열. // @param {String} 형식 날짜 형식. // @param {boolean} 엄격한 입력 문자열의 유효성을 확인하십시오. 이는 기본적으로 False입니다. // @param {date} 생성 날짜를 반환합니다. // 예제 var input = '2012 년 10 월 31 일 14:30:00'; var format = 'y 년 m month d day h : i : s'; var date = ext.date.parse (입력, 형식, true); // 수요일 2012 년 10 월 31 일 14:30:00 GMT+0800 (중국 표준 시간)예 : 주 (주)와 함께 날짜 선택 제어 구현
1. 질문 :
EXT JS를 사용하여 주 문제를 완벽하게 해결할 수 있습니까?
이 시리즈의 첫 번째 기사에서, Ext의 DatePicker는 일주일 동안 볼 수 없으며 그 자체로 확장해야한다고합니다.
그러나 확장 할 때 문제가 있습니다.
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 (날짜);
경고 ( "주 ="+주);
EXT JS 날짜 제어는 기본적으로 42 일 동안 표시되므로 2 년 사이의 상호 작용에 문제가 있습니다.
그해 53 주입니까? 여전히 내년 첫 주입니다.
2. 해결책 :
js의 날짜 개체와 Ext.date의 ext.date를 결합하여 주 끈의 획득을 알고 있습니다.
일요일은 매주 첫날입니다
연간 주 수는 (1-52)입니다. 52 주를 초과하면 내년 첫 주에 계산됩니다. 예를 들어, 2013/12/29는 2013 년 53 주이며 2014 년 첫 주에 계산됩니다.
"W1334"와 같은 주 형식으로 돌아 가기
/ * * W1334 () 2013/08/20 * 1으로 반환하십시오. 주 = 주 -52; * 3. 월 == 11 (12 개월) 및 주 <2 ==> 년 = 년 +1; */function getWeekStrofDate (날짜) {var weekstr = null; if (date! = null) {weekstr = "w"; var dateyear = date.getLyEar (); var dateweek = ext.date.getweekofyear (날짜); var firstdayofmonth = ext.date.getfirstdayofmonth (날짜); var day = date.getDate (); var month = date.getmonth (); // 주중 0-6 var weekday = date.getday (); if (Weekday === 0) {dateweek ++; } // 주 1 주> 52 ==> 년 +1 if (Month == 11) {if (dateweek> 52) {dateyear += 1; Dateweek- = 52; } else if (dateweek <2) {dateyear += 1; }} var recortr = dateyear.toString (); Yearttr = Yearttr.substring (2,4); var dateweekst = dateweek.toString (); if (dateweekst.length <2) {dateweekst = "0" + dateweekstr; } weekstr += Yeartr; Weekstr += dateweekstr; } return weekstr;}