2009-10-15 5 views
4

저는 자바 스크립트를 배우고 있으며 표준 형식의 날짜를 ISO8601 format (YYYY-MM-DDThh : mm : ssTZD)으로 변환하는 간단한 방법이 있는지 파악하려고합니다. 조언?자바 스크립트 날짜는 IS8601 형식입니까?

+3

"표준 형식의 날짜"란 무엇을 의미합니까? – slikts

+0

죄송합니다. CMS가 지적한 IETF 표준 형식과 같은 것을 말합니다. Thu, 15 Oct 2009 12:30:00 GMT – gbr

답변

6

당신은 "표준 포맷 일"을 의미하는 경우는 IETF 표준 형식의 날짜 문자열 다음 Date.parse 기능에 의해 의해 허용 (예 : '2009년 10월 15일 (목) 그리니치 표준시 12시 30분 0초')

function ISODateString(d){ 

    function pad(n){ 
    return n<10 ? '0'+n : n; 
    } 

    return d.getUTCFullYear()+'-' 
    + pad(d.getUTCMonth()+1)+'-' 
    + pad(d.getUTCDate())+'T' 
    + pad(d.getUTCHours())+':' 
    + pad(d.getUTCMinutes())+':' 
    + pad(d.getUTCSeconds())+'Z' 
} 


var d = new Date('Thu, 15 Oct 2009 12:30:00 GMT'); 
console.log(ISODateString(d)); // 2009-10-15T12:30:00Z 
+1

이것은 내가 찾고 있었던 명확하고 간단한 해결책으로 보인다. 감사합니다. – gbr

5

나는 비 (非) 인간 데이트 필요를 위해 date.js을 사용합니다.

+0

좋은 링크, 고마워. 나중에 참조 할 수 있도록 북마크 됨. – gbr

0

일부터 ISO8061까지 :

var d = new Date(); 
d.toJSON(); // return "2013-09-23T07:42:18.730Z" 

ISO8061에서 날짜에 Date 생성자, 당신은 입력으로 Date 객체를 사용하여 날짜를 구문 분석하고 ISO8601 날짜를 반환하는 간단한 도우미 기능을 쓸 수 있습니다 :

var ms = Date.parse('2013-09-23T07:42:18.730Z'); 
var date = new Date(ms); 
관련 문제