[JQUERY] 사용하여 "일 / 월 / 년"또는 "DD-MM-YYYY"또는 "DD-음-YYYY"형식의 날짜 문자열을 구문 분석하는 방법 자바 스크립트 또는 jQuery를 [중복]
JQUERY사용하여 "일 / 월 / 년"또는 "DD-MM-YYYY"또는 "DD-음-YYYY"형식의 날짜 문자열을 구문 분석하는 방법 자바 스크립트 또는 jQuery를 [중복]
해결법
-
1.당신은 쉽게 조작에 대한 기본 자바 스크립트 날짜 객체를 포함 http://momentjs.com/ 같은 도우미 라이브러리를 사용 할 수 있습니다
당신은 쉽게 조작에 대한 기본 자바 스크립트 날짜 객체를 포함 http://momentjs.com/ 같은 도우미 라이브러리를 사용 할 수 있습니다
그럼 당신은 일을 같이 할 수 있습니다 :
var day = moment("12-25-1995", "MM-DD-YYYY");
또는
var day = moment("25/12/1995", "DD/MM/YYYY");
다음 날 운영
day.add('days', 7)
및 기본 자바 스크립트 날짜를 얻을 수 있습니다
day.toDate();
-
2.최신 정보
최신 정보
아래 당신이 말한 :
즉 완전히 질문을 변경합니다. 당신은 형식을 제어 할 수없는 경우는 훨씬 더 복잡 할 수 있습니다. 당신이 날짜 형식을 지정할 수 있습니다 자바 스크립트로 구축되어 있지 않다. 실제로 거의 모든 브라우저도 아니라, 년 / 월 / 일을 지원하지만 YYYY-MM-DD : 공식적으로, 자바 스크립트를 지원하는 유일한 날짜 형식은 ISO-8601의 단순화 된 버전입니다. 하지만 그 이외의, 당신은 코드를 직접 또는 쓰기 (이 훨씬 더 의미가) 좋은 라이브러리를 사용합니다. 아마 (DateJS 있지만 몇 년 동안 유지되지 않은) moment.js 또는 DateJS 같은 라이브러리를 사용하십시오.
원래 답 :
형식은 항상 / 월 / 년을 dd는 경우, 다음이 간단하다 :
var parts = str.split("/"); var dt = new Date(parseInt(parts[2], 10), parseInt(parts[1], 10) - 1, parseInt(parts[0], 10));
분할은 주어진 구분자에 문자열을 분할합니다. 그런 다음 우리는 숫자로 문자열을 변환에서는 parseInt를 사용하여, 우리는 그 부분에서 날짜를 구축하기 위해 새로운 날짜 생성자를 사용 세 번째 부분은 두 번째 부분 월, 첫 번째 부분 하루 해가 될 것입니다. 날짜 용도는 개월 수를 기반 제로, 그래서 우리는 개월 수에서 하나를 빼야합니다.
-
3.다음 Date.parse는 특정 형식을 인식하고 당신은 당신의 입력 형식이 무엇인지를 이야기 할 수있는 옵션이 없습니다. 이 경우에 그 결과가 잘못 입력되도록, 형식은 mm / dd / yyyy 것을 생각한다.
다음 Date.parse는 특정 형식을 인식하고 당신은 당신의 입력 형식이 무엇인지를 이야기 할 수있는 옵션이 없습니다. 이 경우에 그 결과가 잘못 입력되도록, 형식은 mm / dd / yyyy 것을 생각한다.
이 문제를 해결하려면, 당신은 (예를 들어 사항 String.split와) 입력 자신을 분석 한 후 수동으로 날짜 객체를 생성하거나,보다 완벽한 기능을 갖춘 도서관 등 datejs를 사용하는 방법 중 하나를 필요는 없다.
수동 구문 분석의 예 :
var input = $('#' + controlName).val(); var parts = str.split("/"); var d1 = new Date(Number(parts[2]), Number(parts[1]) - 1, Number(parts[0]));
예 date.js를 사용하여 :
var input = $('#' + controlName).val(); var d1 = Date.parseExact(input, "d/M/yyyy");
-
4.이 시도:
이 시도:
function GetDateFormat(controlName) { if ($('#' + controlName).val() != "") { var d1 = Date.parse($('#' + controlName).val().toString().replace(/([0-9]+)\/([0-9]+)/,'$2/$1')); if (d1 == null) { alert('Date Invalid.'); $('#' + controlName).val(""); } var array = d1.toString('dd-MMM-yyyy'); $('#' + controlName).val(array); } }
정규 표현식은 .replace 대체 (/ ([0-9] +) \ / ([0-9] +) /, $ 2 / $ 1 ')의 변경 일 / 월 위치.
-
5.참조이 http://blog.stevenlevithan.com/archives/date-time-format
참조이 http://blog.stevenlevithan.com/archives/date-time-format
당신은 날짜 모든 작업을 수행 할 수 있습니다.
파일 : http://stevenlevithan.com/assets/misc/date.format.js
스크립트 태그를 사용하여 HTML 코드에 이것을 추가하고 당신이 그것을로 사용할 수있는 사용 :
var now = new Date(); now.format("m/dd/yy"); // Returns, e.g., 6/09/07
from https://stackoverflow.com/questions/10430321/how-to-parse-a-dd-mm-yyyy-or-dd-mm-yyyy-or-dd-mmm-yyyy-formatted-date-stri by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] 어떻게 사용하지 않으려면 / 자바 스크립트에서 JSF 입력 필드를 사용 하시겠습니까? (0) | 2020.10.20 |
---|---|
[JQUERY] 다른 iFrame을에서 iframe이 내용을 삭제하는 방법 (0) | 2020.10.20 |
[JQUERY] 있는 jqGrid GET "일"과 "THEAD"jQuery를 사용하여 (0) | 2020.10.20 |
[JQUERY] jQuery를 사용하여 IE에서 숨기기 옵션을 선택 (0) | 2020.10.20 |
[JQUERY] 어떻게 텍스트 상자에 캐럿의 픽셀 (x, y) 좌표를받을 수 있나요? (0) | 2020.10.20 |