2012-10-17 3 views
0

나는 간단한 스크립트가 있습니다초를 datetime 형식으로 인쇄하는 방법?

function test(time) { 
    var dt = new Date(time * 1000) 
    var sec = dt.getSeconds() 
    if (sec < 10) sec = "0" + sec 
    var min = dt.getMinutes() 
    if (min < 10) min = "0" + min 
    var hour = dt.getHours() 
    if (hour < 10) hour = "0" + hour 
    var time = hour + ":" + min + ":" + sec 
    return time 

(test(1800)) : 30:00 resut 예상을하지만 난 result: 04:30:00 있습니다. 이 스크립트를 수정하도록 도와 줄 수 있습니까?

Date 객체의 생성자는 받아 들일 수 : 내 시간대는 그리니치 표준시 + 04

+1

모든 세미콜론을 생략하는 것이 좋습니다. –

답변

3

대답은 매우 간단합니다

1970년 1월 0시 일 이후의 밀리 초 수를 나타내는 정수 값 : 00 UTC (Unix Epoch)

Date.get* 함수는 현지 시간대를 사용하여 반환합니다.

정말로 필요한 경우 Date.getUTC*을 사용하십시오.

function test(time) { 
    var dt = new Date(time * 1000); 
    var sec = dt.getUTCSeconds(); 
    if (sec < 10) sec = "0" + sec; 
    var min = dt.getUTCMinutes(); 
    if (min < 10) min = "0" + min; 
    var hour = dt.getUTCHours(); 
    if (hour < 10) hour = "0" + hour; 
    var time = hour + ":" + min + ":" + sec; 
    return time; 
} 
관련 문제