2016-08-03 3 views
-2

현재 날짜/월/년 및 주어진 시간을 사용하여 문자열 시간 (예 : 1100)을 DateTime으로 변환해야합니다. 이것은 내가 현재하고 있어요 제대로 작동하지 않는 것입니다문자열 'time'을 datetime으로 변환합니다.

...

data.BeginTime = 1100 
beginTime = new Date(data.BeginTime) 

편집 : 나는 그것을 알아 낸

다음

var d = new Date(); 
var bT = new Date(d.getFullYear(), d.getMonth(), d.getDay(), data.BeginTime/100, 0, 0, 0); 
+1

[JavaScript에서 형식 지정을 사용하여 문자열을 datetime으로 변환하려면 어떻게해야합니까?] (http://stackoverflow.com/questions/476105/how-can-i-convert-string-to-datetime-with- format-specification-in-javascript) –

+2

1100 시간입니까? 11 시가 아니니? – trincot

+0

@trincot 그것은 오전 11 시가 될 수도 있고 오전 11 시가 될 수도 있습니다. 데이터 형식을 지정하는 또 다른 함수를 작성하지 않아도되지만, 문제가되지는 않습니다. –

답변

0

다음과 같은 함수로이 작업을 수행 할 수 있습니다.

function todayAtTime(militaryTime) { 
 
    var minutes = militaryTime % 100; 
 
    var hours = Math.floor((militaryTime - minutes)/100); 
 
    var dt = new Date(); 
 
    dt.setUTCHours(hours); 
 
    dt.setUTCMinutes(minutes); 
 
    dt.setUTCSeconds(0); 
 
    dt.setUTCMilliseconds(0); 
 
    return dt; 
 
} 
 

 
// Example call 
 
var result = todayAtTime(1100); 
 

 
// Output result 
 
console.log(result);

이것은 UTC 날짜 시간입니다. 로케일 날짜 시간으로 날짜를 사용하려면 메서드 호출에 "UTC"부분을 생략하고 result.toLocaleString()으로 인쇄하십시오.

관련 문제