Здравствуйте.
Вы выводили document.clock в консоль? Как Вы выводите результаты? В каких браузерах наблюдается ошибка?
Запустил Ваш код на Google Chrome v.37.0.2062.124 и вывел переменные в консоль (__proto убрано для "удобочитаемости").
function GetTime() {
console.clear();
var dt = new Date();
console.log("dt=%O", dt);
var def = dt.getTimezoneOffset()/60;
console.log("def="+def);
var gmt = (dt.getHours() + def);
console.log("gmt="+gmt);
*!*
document.clock = {
"local" : {},
"NewYork" : {},
"London" : {},
"Tokyo" : {},
"Cydney" : {},
"Moscow" : {},
"Kiev" : {},
"_GMT" : {}
};
*/!*
document.clock.local.value = (IfZero(dt.getHours()) + ":" + IfZero(dt.getMinutes()) + ":" + IfZero(dt.getSeconds()));
var ending = ":" + IfZero(dt.getMinutes()) + ":" + IfZero(dt.getSeconds());
console.log("ending="+ending);
var isr =check24(((gmt - 4) > 24) ? ((gmt - 4) - 24) : (gmt - 4));
document.clock.NewYork.value = (IfZero(isr) + ending);
var msw =check24(((gmt + 1) > 24) ? ((gmt + 1) - 24) : (gmt + 1));
document.clock.London.value = (IfZero(msw) + ending);
var baku =check24(((gmt + 9) > 24) ? ((gmt + 9) - 24) : (gmt + 9));
document.clock.Tokyo.value = (IfZero(baku) + ending);
var del =check24(((gmt - 4) > 24) ? ((gmt - 4) - 24) : (gmt - 4));
document.clock.Cydney.value = (IfZero(del) + ending);
var dh =check24(((gmt + 4) > 24) ? ((gmt + 4) - 24) : (gmt + 4));
document.clock.Moscow.value = (IfZero(dh) + ending);
var kok =check24(((gmt +3 ) > 24) ? ((gmt +3 ) - 24) : (gmt + 3));
document.clock.Kiev.value = (IfZero(kok) + ending);
var _GMT =check24(((gmt) > 24) ? ((gmt) - 24) : (gmt));
document.clock._GMT.value = (IfZero(_GMT) + ":" + IfZero(dt.getMinutes()) + ":" + IfZero(dt.getSeconds()));
console.log("document.clock=%O", document.clock);
}
function IfZero(num) {
return ((num <= 9) ? ("0" + num) : num);
}
function check24(hour) {
return (hour >= 24) ? hour - 24 : hour;
}
GetTime();
Код:
|
// Console output
dt=Wed Oct 08 2014 12:10:21 GMT+0200 (Central Europe Daylight Time)
def=-2
gmt=10
ending=":10:21"
document.clock=Object
Cydney: Object
value: "06:10:21"
Kiev: Object
value: "13:10:21"
London: Object
value: "11:10:21"
Moscow: Object
value: "14:10:21"
NewYork: Object
value: "06:10:21"
Tokyo: Object
value: "19:10:21"
_GMT: Object
value: "10:10:21"
local: Object
value: "12:10:21" |
Можете сами запустить в Chrome и посмотреть на вывод.
P.S.: выделенный код добавлен для исключения ошибки "Cannot read property 'local' of undefined".