Date
개체를 항상 4 시간 오프셋으로 조정하려고합니다. 나는 이것을 어떻게 얻을 수 있을까?모든 시간이 4 시간 오프셋되도록
var d = new Date();
// d would be 4 hours in the past
Date
개체를 항상 4 시간 오프셋으로 조정하려고합니다. 나는 이것을 어떻게 얻을 수 있을까?모든 시간이 4 시간 오프셋되도록
var d = new Date();
// d would be 4 hours in the past
당신은 특정 날짜와 날짜 개체를 만들 수 있습니다. 그냥 현재 시간에서 올바른 밀리 초를 빼고 날짜 기능 되었 :
var d = new Date(new Date().getTime() - 1000*60*60*4);
또는 수동으로 시간이 같은
var d = new Date();
d.setHours((12 + (d.getHours() - 4))%12)
이것은 OP가 원한 것이 아니라고 생각하는 하나의 'Date' 인스턴스를 변경합니다. –
@ MДΓΓLLLL 당신이 의미하는 바를 알았지 만 이것이 어떻게 행해져 야 하는가입니다. 날짜 객체의 인스턴스로 작업하기. –
Date 개체를 수정해야합니다. 못생긴하지만 일을 끝내기 위해 내가해야 할 일. 고마워, – user721081
뭔가 설정할 수 있습니다
d.setHours(d.getHours()-4);
이것은 내가 생각하기에 OP가 원하는 것이 아니라 단지 하나의 'Date' 인스턴스를 변경합니다. –
모든 Date 개체에 대해 변경해야합니다. – user721081
Date.withOffset = function(offset){
var r = new Date();
r.setHours(r.getHours()+offset);
return r;
};
var d = Date.withOffset(-4)
// d would be 4 hours in the past
을
더 좋은 이름을 제안 할 수 있습니다. 당신은 물론 사용의 수도 페이지에 모든 자바 스크립트를 중단하고자하는 경우
:
Date = function() {
var old = Date;
function broken() {
var r = new old();
r.setHours(r.getHours()-4);
return r;
}
broken.fix = function() {
Date = old;
};
return broken;
}();
당신은 정말 추한 해킹없이, 당신은 할 수 없습니다 Date.fix()
시스템 시간을 수정할 수 없습니다. 셋톱 박스를 작동하고 있으며 시간은 항상 GMT입니다. 모든 Date 객체에 대해 과거 4 시간까지의 시간이 필요합니다. 나는 그것이 추한 것을 알고 모범 사례에 반대하지만 이것은 내가해야 할 일입니다 ... – user721081
위의 날짜 기능이 작동하지 않습니다. – user721081
를 호출하여 문제를 해결할 수 있습니다. 해결하려는 더 큰 문제는 무엇입니까? 게다가 '날짜'의 행동을 바꾸면 문서화 된 기존 계약이 깨어지며 최소한의 놀라움의 원칙을 위반하게되고 널리 선한 것으로 간주되는 다른 여러 가지 사항을 위반하게됩니다. –
'시작 -> 제어판 -> 날짜/시간 설정' –
/당신은/실제로 /하려고합니까? – Dan