jQuery를 사용하여 JSON 피드에서 데이터를 가져 오는 중이며 피드의 일부로 '2009-07-01 07:30:09'와 같은 'datetime'속성이 표시됩니다. 이 정보를 자바 스크립트 Date 객체에 넣어서 사용하기 쉽도록하고 싶지만 Date 객체가 단순히 생성자에 플러그 인하면이 종류의 형식을 인식하지 못한다고 생각합니다. 이 형식을 Date 객체가 인식하고 사용할 수있는 것으로 빠르게 분해 할 수있는 기능이나 영리한 트릭이 있습니까?이 datetime 형식에 대한 간단한 변환이 있습니까?
답변
"날짜"당신이 속성 해당 웹 서비스에서 검색하는 것은 실제로는 Date
이 아닙니다. 인식 된 날짜 형식이 아니기 때문입니다.
Date 객체는 "T"와 빈 공간을 대체하는 것 같이 그것을 처리하는 가장 쉬운 방법 :이 시간대를 처리하지 않는 한,
var receivedDate = "2009-07-01 07:30:09";
var serializedDate = new Date(receivedDate.replace(" ", "T"));
alert(serializedDate);
이 가장 정확한 아니라에서 대부분의 경우 작동합니다.
나는 이것을 시도했지만 어떤 이유로 그것은 작동하지 않을 것이다. 공간은 공간을 유지합니다. –
신경 쓰지 마세요, 작동합니다. replace()가 호출 된 문자열에 영향을 미쳤지 만 대체 결과를 반환하지 않는다는 가정하에있었습니다. 어떤 언어가 그 일을 할 수 있는지/모르는지는 모르겠지만, 어떤 언어가 있다는 것을 알고 있습니다. –
input = "2009-07-01 07:30:09";
var res = input.match(/([\d\-]+) (\d+):(\d+):(\d+)/);
date = new Date(Date.parse(res[1]));
date.setHours(res[2]);
date.setMinutes(res[3]);
date.setSeconds(res[4]);
console.log(date);
편집 : 내 원래의 대답이었다 크롬에서 오류가 발생하지만 모두 같은 잘못 날짜를 구문 분석하지 않았다
t = new Date(Date.parse("2009-07-01 07:30:09"));
. 이것은 나를 버렸다. Date.parse는 실제로 꽤 색다른 것으로 보이며 완전한 날짜와 시간을 파싱하는 것은 아마도 그리 신뢰할 만하지 않습니다.
Edit2 : DateJS은 심각한 텍스트 구문 분석이 필요하지만 25 kb에서 일반용으로 사용하기에는 약간의 문제가있을 때 좋은 해결책으로 보입니다.
@anshul> 그게 효과가 있습니까? – bdl
Firefox에서 테스트 한 결과 "잘못된 날짜"가 표시됩니다. –
Nope. 시도 중 ... $ ('# date') .html (t.getMonth() + '/'+ t.getDay()); NaN/NaN –
이것은 다소 번거롭지 만 JavaScript Date 객체는 YYYY, MM, DD, HH, MM, SS의 인수 목록을 사용합니다. 날짜 값을 파싱하여 Date 생성자에 전달합니다.
var splitDT= '2009-07-01 07:30:09'.split(' '); // ['2009-07-01','07:30:09']
var d= splitDT[0].split('-');
var t= splitDT[1].split(':');
alert((new Date(d[0],d[1],d[2],t[0],t[1],t[2])));
바. 대신 배열 인덱스 값을 사용해야했습니다. 그래, 엉망이야. 그러나 그것은 효과적이다.
var str = "2009-07-01 07:30:09";
시간대에 따라 달라지며 날짜 문자열이 해당 월의 1을 뺀 경우.
은 GMT 시간이며, 07은 7 월과 8 월하지 의미하는 경우 :
var에 STR = "2009-07-01 7시 30분 9초"을;
var d=new Date(), time;
str=str.split(/\D0?/);
str[1]-=1;
time=str.splice(3);
d.setUTCFullYear.apply(d,str);
d.setUTCHours.apply(d,time)
alert(d)
/* 반환 값 : (일) 수요일 2009년 7월 1일 그리니치 표준시 03시 30분 9초-0400 (동부 서머 타임) 또는 로컬 equivilent */
- 1. 이 변환이 맞습니까?
- 2. 은 joda로 유연한 datetime 변환이 필요합니다.
- 3. 변환이
- 4. 이 목록에 대한 더 나은 솔루션이 있습니까? <DateTime>?
- 5. MIME 형식에 대한 URN
- 6. 이 간단한 관계가 의미가 있습니까?
- 7. 두 개의 변환이 같은지 알아내는 간단한 방법이 있습니까?
- 8. 종이 클립 오류 : "이 이미지 형식에 대한 디코딩 대리자 없음"
- 9. 임의의 값 형식에 대한 연산
- 10. 이 (간단한) 정규 표현식에 대한 도움 ...?
- 11. Readline에 대한 간단한 대안이 있습니까?
- 12. C# 데이터 형식에 대한 질문
- 13. 필수 형식에 대한 정규 표현
- 14. 사용할 데이터 형식에 대한 설명
- 15. asp.net cms에 대한 datetime
- 16. 개체 및 익명 형식에 대한 Linq
- 17. 사용자 지정 콘텐츠 형식에 대한 CAML 쿼리
- 18. C에서 메서드의 일반 형식에 대한 제약 #
- 19. Lin2Sql SQL 예외에 대한 지원되는 변환이 없습니다
- 20. 이 간단한 bash 명령에는 어떤 문제가 있습니까?
- 21. 이 타임 스탬프를 Ruby의 MySQL DATETIME 객체로 변환하려면 어떻게해야합니까?
- 22. MEF : 형식에 대한 새 인스턴스를 검색하는 방법?
- 23. unamed 데이터 형식에 대한 RTTI 없음
- 24. datetime으로의 변환이 WHERE 절에서만 실패합니까?
- 25. 이 간단한 코드를 어떻게 강화할 수 있습니까?
- 26. 이 간단한 Javascript 기능에 문제가 있습니까?
- 27. 이 작업을 수행하는 더 간단한 방법이 있습니까?
- 28. 이 MD5 해시를 계산하는 간단한 방법이 있습니까?
- 29. 다음 SQL 쿼리에 대한 Linq 변환이 필요합니다.
- 30. 특정 형식에 대한 특수 형식 클래스를 만드는 방법 나머지 형식에 대한 기본 구현
실제로 자바 스크립트 코드로 날짜를 조작해야합니까? 당신이하지 않으면 당신은 그냥 그대로 문자열을 떠날 생각할 수 있습니다. –
그래, Date 개체가 구문 분석을 시도하더라도 인식하지 못하는 형식 인 것 같습니다. 속성의 실제 이름이 'datetime'이고 Google 및 VB 참조가 많이 나오는 인터넷 검색을 감안할 때 VB 또는 .NET에서 생성 된 일종의 타임 스탬프라고 추측합니다. –
그리고 네, 있습니다. 그 시간부터 1 년 전에 JSON 피드에 대한 요청 시간을 비교해야합니다.내가 수동으로 문자열을 구문 분석 할 수 있다는 것을 알았지 만, 미리 만들고 더 간단한 솔루션을 기대하고있었습니다. –