연도가없는 날짜의 문자열을 JS Date 객체로 변환하는 방법은 무엇입니까? 그리고 일년짜리와 시간이있는 날짜 문자열을 JS Date 객체로 변환하는 방법은 무엇입니까?자바 스크립트는 "05/27 11:00 pm"을 현재로 변환합니까?
를 체크 아웃 : :
연도가없는 날짜의 문자열을 JS Date 객체로 변환하는 방법은 무엇입니까? 그리고 일년짜리와 시간이있는 날짜 문자열을 JS Date 객체로 변환하는 방법은 무엇입니까?자바 스크립트는 "05/27 11:00 pm"을 현재로 변환합니까?
를 체크 아웃 : :
많은 다른 날짜 형식은 단지 Date()
생성자에 전달하여 Date 객체로 변환 할 수 있습니다 :
var date = new Date(datestring);
귀하의 예를 들어 날짜가 두 가지 이유가 작동하지 않습니다. 첫째, 1 년이 없습니다. 둘째, "pm"앞에 공백이 있어야합니다 (이유는 확실하지 않습니다).
// Wed May 27 2009 23:00:00 GMT-0700 (Pacific Daylight Time)
var date = new Date("2009/05/27 11:00 pm")
당신이 받고있는 날짜 형식이 일치하는 경우이 방법을 고칠 수 있습니다
var datestring = "05/27 11:00pm";
var date = new Date("2009/" + datestring.replace(/\B[ap]m/i, " $&"));
나는 다음과 같은 일을 할 수는 Dojo 시간 파서를 사용했다 http://api.dojotoolkit.org/jsdoc/HEAD/dojo.date.locale.parse
하지 깨끗한하지만 작동합니다
var strDate = '05/27 11:00pm';
var myDate = ConvertDate(strDate, '2009');
function ConvertDate(strWeirdDate, strYear)
{
strWeirdDate = strWeirdDate.replace(/ /, '/' + strYear + ' ');
return new Date(strWeirdDate);
}
이 아마를 다듬을 문자열도 먼저.
나는 Datejs 라이브러리의 구문 분석 방법을 사용하는 것입니다.
나는 당신의 예를 시도하고 괜찮 았는데 ... 오후 11시
2009년 5월 27일 (수요일) 오후 11시 0분 0초
5/27
이 가능성을 살펴 봤지만이 단일 기능에 대해 전체 datejs 라이브러리를 포함하고 싶지 않았습니다. – Jared
Datejs는 날짜 형식 (예 : 사용자 제공, 자유 텍스트 날짜)을 거의 제어 할 수없는 경우에 유용합니다. 웹 호스트가 압축을 지원하는 경우 라이브러리가 무겁지 않습니다. 약 7Kgz 만 압축됩니다. –
내가 작성한 또 다른 옵션 :
날짜/시간 구문 분석 방법이 있습니다. 마스크를 전달하면 입력 내용의 유효성을 검사하고 일치하는 경우 데이터 개체를 반환합니다.
날짜/시간 형식, 날짜 계산 (날짜 추가/빼기 부분), 날짜 비교, 특수 날짜 구문 분석 등도 지원합니다. 자유로운 오픈 소스입니다.
시간과 am/pm 표시기 사이에 공백없이 잘 파싱합니다. 귀하의 솔루션을 마찬가지로 단지 1 년 퍼팅의 시작합니다. 더 단순합니다. – Joe
그 공간이 JS 엔진과 관련이 있는지 궁금해했습니다. 기록을 위해 필자의 FF3 사본은 공백없이 구문을 분석하지 않습니다 ("잘못된 날짜"). –
날짜 형식을 엄격하게 제어하므로 이것이 정확히 무엇을 찾고 있었는지 – Jared