2011-03-24 3 views
5

dateString 매개 변수를 사용하여 Date 개체를 자바 스크립트에 구성하는 경우 문자열은 parse()이 인식 할 수있는 값이어야합니다.javascript의 구문 분석에서 사용하는 문자열 날짜 형식은 무엇입니까?

parse은 어떤 날짜 형식을 인식 할 수 있습니까?

예를 들어

: 크롬과 Internet Explorer에서

var postDate = new Date("2011-03-08T23:52:38"); 

작동하지만 아이폰에 실패 일 (1970 년 1 월 1 일 반환).

.parse() 메서드 나 매개 변수가 무엇인지에 대한 생성자에 대한 공식 문서를 찾을 수 없습니다.

형식 yyyy-mm-ddThh:nn:ss이 작동하지 않습니다. 입니다. 허용되는 형식 문자열은 무엇입니까?

답변

11

MDC documentation of Date.parse() 상태 (인용) :
"Mon, 25 Dec 1995 13:30:00 GMT" :

그것은 IETF 표준(RFC 1123 제 5.2.14 다른 곳에서) 날짜 구문을 허용합니다.


영업 편집 :

/* 
* r (RFC1123Pattern) 
*  ddd, dd MMM yyyy HH':'mm':'ss 'GMT' 
*  Mon, 15 Jun 2009 20:45:30 GMT 
*/ 
dateTime.ToUniversalTime().ToString("r", CultureInfo.InvariantCulture); //"r" = RFC1123Pattern 

편집 :r (RFC1123 패턴이) 항상 추가 "GMT

.NET 구문은이 날짜 문자열을 만듭니다 "시간은 GMT가 아니지만 (현지 시간 임) 실제로는 시간을 GMT로 설정하려면 먼저 .ToUniversalTime()으로 전화해야합니다.

+0

일이 :) 일어나는 어떤 일을해야하는 형식입니다. – kapa

0

Date의 toJSON 메서드에서 생성 된 형식을 사용하면 작동합니다. 이것은 toIOSString 메서드와 동일합니다. mm : ss.sssZ

참고 :

날짜 형식은 YYYY-MM ISO 형식이며 시간대 접미사 "Z"로 표시로 항상 UTC입니다.

var d = new Date(); 
console.log(d.toJSON()); 
console.log(d.toJSON() === d.toISOString()); 
console.log(Date.parse(d.toJSON()) === Date.parse(d.toISOString())); 

표시된 날짜가 시계와 같지 않을 수 있습니다. 시간대가 UTC임을 기억하십시오.

참고 문헌 :

Date.prototype.toJSON()

Date.prototype.toISOString()

관련 문제