2017-12-11 5 views
0

MySQL 기본 날짜 시간 (0000-00-00 00:00:00)을 인쇄하는 여러 가지 방법을 시도했습니다) 형식을 사용합니다. 어떤 도움을 주시면 감사하겠습니다.자바 스크립트에서 정확한 MySQL 기본 시간 형식을 얻지 못했습니다. 0000-00-00 00:00:00

감사

+1

는'나는 많은 ways'을 시도했습니다 - 당신의 최선의 시도 –

+0

이'새로운 날짜() toISOString()를 보여;. +'할 일은이 '하지 말라 –

답변

0

당신이 date & time 문자열에 날짜를 끊고로 사용할 수 있습니다.

var date = '2017-12-11'; 
var time = '11:20:05'; 
var yourDateString = new Date(date + "T" + time+"Z"); 
console.log(yourDateString); 
console.log(date2str(yourDateString,'')); 

function date2str(x, y) { 
var z = { 
    YR: x.getFullYear(), 
    M: x.getMonth() + 1, 
    d: x.getDate(), 
    h: x.getHours(), 
    m: x.getMinutes(), 
    s: x.getSeconds() 
}; 

{ 
     var now = new Date(); 
     var timeOpt = {hour:'2-digit', hour12:true, minute:'2-digit'}; 
     var monthOpt = {day:'numeric', month:'short'}; 
     var fullOpt = {day:'numeric', month:'short', year:'2-digit'}; 
     if (((now - x) < 8.64e7) && (now.getDate() == z.d)) { 
      var timeFragements = x.toLocaleString().toLowerCase(); 
      if(null == timeFragements.match(/(\d+:\d+:\d+)+/)){ 
       return x.toLocaleString("en-US", timeOpt).toLowerCase(); 
      } 
      timeFragements =(timeFragements.match(/(\d+:\d+:\d+)+/)[0]) 
      //Calculation of Am /Pm. 
      var hours = x.getHours(); 
      var amPmStr = hours >= 12 ? ' pm' : ' am'; 
      if(timeFragements.split(':')[0]<12){ 
       return (("0" + timeFragements.split(':')[0]).slice(-2) +':'+ ("0" + timeFragements.split(':')[1]).slice(-2) + amPmStr); 
      }else if(timeFragements.split(':')[0]== 12){ 
       return (("0" + (timeFragements.split(':')[0])).slice(-2) +':'+ ("0" + timeFragements.split(':')[1]).slice(-2) + amPmStr); 
      }else{ 
       return (("0" + (timeFragements.split(':')[0]-12)).slice(-2) +':'+ ("0" + timeFragements.split(':')[1]).slice(-2) + amPmStr); 
      } 
     } else if ( (now.getFullYear() == x.getFullYear()) && (now.getMonth() == x.getMonth())) { 
     return ("" + x.toDateString().split(' ')[1])+" "+("0" + x.getDate().toString()).slice(-2); 
     }else if((now.getFullYear() == x.getFullYear()) && (now.getMonth() != x.getMonth())){ 
      return ("" + x.toDateString().split(' ')[1])+" "+("0" + x.getDate().toString()).slice(-2); 
     }else if(now.getFullYear() !== x.getFullYear()){ 
      return x.toUTCString().split(',')[1].slice(0, 12); 
     } 

} 

} 
+0

새 Date (날짜 + "T"+ 시간 " Z ")'. "0000-00-00T00 : 00 : 00Z"은 "0000-00-00 00:00:00"과 같지 않습니다. 첫 번째는 UTC이고 두 번째는 로컬입니다. – RobG