Не правильное отображение часов 
		
		
		
		Здравствуйте уважаемые форумчани! 
	Такая проблема, часы с разными часовыми поясами, некорректро отображают время, а именно некоторые часовые пояса отображаються в таком формате 0-2:12:56 Помогите убрать этот косяк, моих знаний просто не хватает для этого, и если можно, уберите отображения секунд... Заранее огромное спасибо! 
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function GetTime() { 
var dt = new Date();
var def = dt.getTimezoneOffset()/60;
var gmt = (dt.getHours() + def);
document.clock.local.value = (IfZero(dt.getHours()) + ":" + IfZero(dt.getMinutes()) + ":" + IfZero(dt.getSeconds()));
var ending = ":" + IfZero(dt.getMinutes()) + ":" + IfZero(dt.getSeconds());
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()));
setTimeout("GetTime()", 1000);
}
function IfZero(num) {
return ((num <= 9) ? ("0" + num) : num);
}
function check24(hour) {
return (hour >= 24) ? hour - 24 : hour;
}
// End -->
</script>
 | 
	
		
 Здравствуйте. 
	Вы выводили 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 outputP.S.: выделенный код добавлен для исключения ошибки "Cannot read property 'local' of undefined".  | 
	
		
 Здравствуйте, спасибо за ответ! 
	Код находиться в html файле, а файл выводиться через iframe уже на сайте, код смотрю через мозилу и яндекс браузер, ошибка там и там присутствует. Пока что заметил что когда в Нью-Йорку 02:15 то выводит 0-2:15... а в Токио 06:15. Лично для меня - это темный лес(  | 
	
		
 Здравствуйте. 
	Проанализируйте свой код... Особенно строку check24(((gmt - х) > 24) ? ((gmt - х) - 24) : (gmt - х)) Может так пойдет?! 
function GetTime() {
    
    var offset = arguments[0] || 0;
    
    var d = new Date();
    // количество миллисекунд, прошедших с 1 января 1970
    var localTime = d.getTime();
    // получаем локальное UTC смещение в минутах и конвертируем в миллисекунды
    var localOffset = d.getTimezoneOffset() * 60000;
    // получаем текущее время UTC добавляя сдвиг местного времени
    var utc = localTime + localOffset;
    return new Date(utc + (3600000 * offset));
}
// Пример использования
var cities = {
    "Almaty" : 6,
    "Amman"  : 2,
    "Amsterdam" : 1,
    "Buenos Aires" : -3,
    "Baghdad" : 3,
    "Bahrain" : 3,
    "Baku" : 4,
    "Bangkok" : 7,
    "Berlin" : 1,
    "Bombay" : 5.5
};
console.log("Local time is "+new Date().toLocaleString());
for(var city in cities){
    var offset = cities[city];
    console.log("Local time in "+city+" is "+GetTime(offset).toLocaleString());
}
 | 
	
		
 XelaNimed с моими знаниями JS только анализировать( 
	Что-то вообще ничего не получается сделать, нужны часы для этих регионов и ничего не получается... Если вас не затруднит, объясните как все сделать как для простого смертного... Заранее спасибо!  | 
	
		
 Здравствуйте. 
	Думал, что выше более или менее понятно описано. Что Вам конкретно не понятно?! 
function GetTime() {
    var offset = arguments[0] || 0;
    var d = new Date();
    var localTime = d.getTime();
    var localOffset = d.getTimezoneOffset() * 60000;
    var utc = localTime + localOffset;
    return new Date(utc + (3600000 * offset));
}
// GetTime(-5) -> вернет экземпляр объекта Date
//                для UTC -5
//                Detroit, Havana, Jamaica, Panama, Toronto
 | 
	
		
 Мне не понятно как это все запустить в html файле с разными часовыми поясами... 
	Извините за такие глупые сообщения, но я в js вообще не разбираюсь...  | 
	
		
 Давайте всю страницу и желательно опишите что и где должно отображаться. 
	 | 
	
		
 Вы заслуживаете уважения! 
	Нужно чтобы время отсчитывалось от Гринвича в 24 формате без секунд и желательно, если это возможно с коррекцией (Зима/Лето) Такой метод используется на сайте 24timezones.com/online_clock.php (не реклама) но у меня не получилось перенести скрипты на ПК так что бы они работали... Может у вас получится... А если использовать несколько часов с данного сайта, то при загрузке страницы, не все часы отображаються, нужно еще раз обновить страницу чтобы все часы загрузились, и исходя из этого, часы с данного сайта мало интересуют... И заранее большое человеческое спасибо за помощь! В общем вот сам код страницы 
<SCRIPT LANGUAGE="JavaScript">
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.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();
</script>
 
  
 
 <BODY onLoad="javascript:GetTime();">
<form class="clo_fo"name="clock">
<div class="world_time">
<div class="w_time_bor">
<span style="display:none;"><strong>Local Time <input type="text" size="8" name="local"></strong></span>
<div class="wtime">
<div class="wtime_t">
Гринвич
</div>
<div class="wtime_c">
<input type="text" size="8" name="_GMT">
</div>
<div class="uts_t">(UTS 0)</div>
</div>
<div class="wtime">
<div class="wtime_t">
Нью-Йорк
</div>
<div class="wtime_c">
<input type="text" size="8" name="NewYork">
</div>
<div class="uts_t">(UTS -4)</div>
</div>
<div class="wtime">
<div class="wtime_t">
Лондон
</div>
<div class="wtime_c">
<input type="text" size="8" name="London">
</div>
<div class="uts_t">(UTS +1)</div>
</div>
<div class="wtime">
<div class="wtime_t">
Токио
</div>
<div class="wtime_c">
<input type="text" size="8" name="Tokyo">
</div>
<div class="uts_t">(UTS +9)</div>
</div>
<div class="wtime">
<div class="wtime_t">
Сидней
</div>
<div class="wtime_c">
<input type="text" size="8" name="Cydney">
</div>
<div class="uts_t">(UTS -4)</div>
</div>
<div class="wtime">
<div class="wtime_t">
Москва
</div>
<div class="wtime_c">
<input type="text" size="8" name="Moscow">
</div>
<div class="uts_t">(UTS +4)</div>
</div>
<div class="wtime">
<div class="wtime_t">
Киев
</div>
<div class="wtime_c">
<input type="text" size="8" name="Kiev">
</div>
<div class="uts_t">(UTS +3)</div>
</div>
</div>
</div>
</form>
 | 
	
		
 Вложений: 1 
		
		
		Здравствуйте. 
	На jsFiddle сделал рабочий пример. В прикрепленном архиве все в одном файле.  | 
| Часовой пояс GMT +3, время: 10:06. |