2014-07-15 3 views
0

내 날짜 선택기 메이트 날짜 = 7 월 21-2014 내가 2014-07-21T11 같은 타임 스탬프 편대에 날짜 선택기를 변환 할 오전 11시날짜 구문 분석 문제 자바 스크립트

: 00 : 00. 자바 스크립트.

는이 목적을 위해 내가 그것을 크롬과 파이어 폭스에서 잘 작동하고

var now = new Date(date); 
var year = now.getFullYear(); 
var month = now.getMonth()+1; 
var day  = now.getDate(); 
var hour = now.getHours(); 
var minute = now.getMinutes(); 
var second = now.getSeconds(); 
var convertedDate = year+'-'+month+'-'+day+'T'+hour+':'+minute+':'+second; 

처럼 쓴 있지만 탐구 인터넷에 실패합니다.

NaN-NaN-NaNTNaN : NaN : NaN과 같은 날짜 값이 나타납니다.

도와주세요. 이 문제를 해결하는 방법?

+0

볼 :: http://stackoverflow.com/questions/2182246/javascript-dates-in-ie-nan-firefox-chrome-ok –

+0

사용자 정의 형식과 일관된 동작를 들어, '정확한 구문 분석'또는 '형식으로 구문 분석'옵션을 제공하는 라이브러리를 찾아야 할 가능성이 큽니다. 자바 스크립트는 [하나의 지정된 날짜/시간 형식] 만 가지고 있습니다 (http://ecma-international.org/ecma-262/5.1/#sec-15.9.1.15). 다른 모든 사람들은 지원 여부를 결정할 엔진에 달려 있습니다. –

답변

0
function changeDateFormat(date){ 
/*split date into three parts */ 
var dateParts = date.split(" "); 

if (dateParts.length != 3) { 
    return false; } 

/*split Time into three parts*/ 
var time = dateParts[1].split(":"); 
var second = 00; 

/*split minutes and (AM or PM) into two parts*/ 
var checkAM = dateParts[1]; 

/*if time is PM then adding 12hrs for to get 24hrs format*/ 
if((checkAM[1] == "pm") ||(checkAM[1] == "PM")){ 
    time[0] = Number(time[0])+Number(12); 
} 
var months = ['January', 'February', 'March', 'April', 'May', 'June', 
       'July', 'August', 'September', 'October', 'November', 'December']; 

    var date = dateParts[0].split("-"); 
    var splitMonth = date[0]; 

    var month; 
    for(month=0; month<months.length ; month++){ 
     if(months[month] == splitMonth){ 
      var monthDigit1 = Math.floor((month+1)/10); 
      var monthDigit2 = (month+1) % 10; 

      return date[2] + '-' + monthDigit1 + '' + monthDigit2+ '-' + date[1] + 'T' + time[0] + ':' + time[1] + ':'+ second; 
     } 
    } 

은}