2016-08-08 3 views
0

자바에서 pomodoro 시계 작업 중입니다.날짜 개체에서 시간 가져 오기 및 설정

조금 혼란 스럽습니다. Date Obj. 아래의 코드에 따르면, '세션 타이머'& '브레이크 타이머'값은 전역 obj에 저장되므로 &/또는 업데이트 할 수 있습니다.

// The following stores the current time 
// which makes sense. 
const meter = { 
    break : new Date(), 
    session : new Date() 
}; 
// However, when I set the minutes on the Date obj 
// the above break & session props are no longer 
// a Date obj, instead they are number. 
// So, I cant use the 'getMinutes()' 
const meter = { 
    break : new Date().setMinutes(5), // is a number, not Date anymore! 
    session : new Date().setMinutes(10) // is a number, not Date anymore! 
}; 

내가 새 날짜를 만들 new Date() 방법으로 휴식/세션 번호를 전달할 수 있지만 주로 형식 [시간]에 (타이머를 만들 얼마나 궁금 : 그러나 다음 날 혼란 [분 ]:[비서]).

let number = 1470650701308; // time in milliseconds as returned by methods (getMinutes(), getHours(), getSeconds()) 
let hours = 1470650701308/(1000 * 60 * 60); // ms * sec * min 
let minutes = 1470650701308/(1000 * 60); // ms * sec 
let seconds = 1470650701308/(1000); // ms 

그래서 내 질문에 어떻게 내가 내 시계 초마다 업데이트 할 수 있습니다 & 초 시간/분의 시간을지고 가야하는 것입니다 : 내가 코드를 업데이트하기 전에 매 초마다 다음과 같이 뭔가를해야 할 것인가?

감사합니다.

답변

0

setminutes 메서드는 개체를 수정하고 int를 반환합니다.

이 대신하려고 : 약 임 혼란, 그러나,

const meter = { 
    break : new Date(), 
    session : new Date() 
}; 

meter.break.setMinutes(5); 
meter.session.setMinutes(10); 
+0

감사 (위의 코드에 따라)이 알고 내가 얼마나 디스플레이 같아요 – Kayote

+1

에 타이머 출력 시간/분/초에 당신은 $ {meter.break.getHours()}를 사용할 수 있습니다 : $ {meter.break.getMinutes()} : $ {meter.break.getSeconds()}'? 귀하의 예제에서 이러한 메소드가 밀리 초 단위로 시간을 반환한다고 말하는 이유는 무엇입니까? 세터들만 그렇게하지. –

+0

아, 잘 잡아라! 그게 해결 됐어! 고맙습니다. 값을 탐색 할 때 틀린 순서를 사용해야하고 get ***() 메소드의 반환 값이 ms라고 가정합니다. 나중에 참조 할 수 있도록 답변을 수정하고 구성 해주십시오. – Kayote

관련 문제