Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.04.2013, 15:59
Новичок на форуме
Отправить личное сообщение для Blavkhawk Посмотреть профиль Найти все сообщения от Blavkhawk
 
Регистрация: 16.04.2013
Сообщений: 8

Подскажите, что не так?
Есть сайт: http://twzgame.ru/time
Взял с него скрипт:
function updateTime() {
	var now = new Date();

	var startHours = now.getUTCHours();
	var startMinutes = now.getUTCMinutes();
	var startSeconds = now.getUTCSeconds();

	var extraHours = Math.floor(startMinutes*6/60)+0;
	var extraMinutes = Math.floor(startSeconds*6/60);
	var extraSeconds = 0;

	var hours =   (startHours*6   + extraHours )%24;
	var minutes = (startMinutes*6 + extraMinutes)%60;
	var seconds = (startSeconds*6 + extraSeconds)%60;

	if (seconds < 0) {
		minutes--;
		seconds+= 60;
	}

	if (minutes < 0) {
		hours--;
		minutes+= 60;
	}

	if (hours < 0) {
		hours += 24;
	}

	return function() {
		//Update time
		if (++seconds == 60) {
			seconds = 0;
			minutes++;
		}

		if (minutes == 60) {
			minutes = 0;
			hours++;
		}

		if (hours == 24) {
			hours = 0;
		}

		self.postMessage([hours, minutes, seconds]);
	}
}

var updater = updateTime();

setInterval(updater, 166.667);


Переделал так:
function updateTime() {
	var now = new Date();

	var startHours = now.getUTCHours();
	var startMinutes = now.getUTCMinutes();
	var startSeconds = now.getUTCSeconds();

	var extraHours = Math.floor(startMinutes*6/60)+0;
	var extraMinutes = Math.floor(startSeconds*6/60);
	var extraSeconds = 0;

	var hours =   (startHours*6   + extraHours )%24;
	var minutes = (startMinutes*6 + extraMinutes)%60;
	var seconds = (startSeconds*6 + extraSeconds)%60;

	if (seconds < 0) {
		minutes--;
		seconds+= 60;
	}

	if (minutes < 0) {
		hours--;
		minutes+= 60;
	}

	if (hours < 0) {
		hours += 24;
	}

		//Update time
		if (++seconds == 60) {
			seconds = 0;
			minutes++;
		}

		if (minutes == 60) {
			minutes = 0;
			hours++;
		}

		if (hours == 24) {
			hours = 0;
		}

 WScript.Echo (hours + ':' + minutes + ':' + seconds);
}

var updater = updateTime();


Вопрос: Почему разные минуты и секунды на сайте и в Echo?

Последний раз редактировалось Blavkhawk, 18.04.2013 в 16:31.
Ответить с цитированием
  #2 (permalink)  
Старый 18.04.2013, 16:32
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

а хоть что он делает код то??

function updateTime() {
	var now = new Date();

	var startHours = now.getUTCHours();
	var startMinutes = now.getUTCMinutes();
	var startSeconds = now.getUTCSeconds();
	
	//------------------------
	console.log(startHours + ':' + startMinutes + ':' + startSeconds);
	
	var extraHours = Math.floor(startMinutes*6/60)+0;
	var extraMinutes = Math.floor(startSeconds*6/60);
	var extraSeconds = 0;
	
	//------------------------
	console.log(extraHours + ':' + extraMinutes + ':' + extraSeconds);
	
	var hours =   (startHours*6   + extraHours )%24;
	var minutes = (startMinutes*6 + extraMinutes)%60;
	var seconds = (startSeconds*6 + extraSeconds)%60;

	//------------------------
	console.log(hours + ':' + minutes + ':' + seconds);
	
	if (seconds < 0) {
		minutes--;
		seconds+= 60;
	}

	if (minutes < 0) {
		hours--;
		minutes+= 60;
	}

	if (hours < 0) {
		hours += 24;
	}

		//Update time
		if (++seconds == 60) {
			seconds = 0;
			minutes++;
		}

		if (minutes == 60) {
			minutes = 0;
			hours++;
		}

		if (hours == 24) {
			hours = 0;
		}

 console.log(hours + ':' + minutes + ':' + seconds);
}

setInterval(updateTime, 1000);
Ответить с цитированием
  #3 (permalink)  
Старый 18.04.2013, 16:36
Новичок на форуме
Отправить личное сообщение для Blavkhawk Посмотреть профиль Найти все сообщения от Blavkhawk
 
Регистрация: 16.04.2013
Сообщений: 8

Берет время в формате UTC и конвертит.
Проблема в том, что я вижу разные данные.
Результат скрипта не сходится с данными с сайта.
Ответить с цитированием
  #4 (permalink)  
Старый 18.04.2013, 16:49
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

тогда для чего все это??))) я пострел на алгоритм и не понял для чего он нужен, к чему он должен привести.

вот набросал свое (может и не оно конечно, но все же):

var updateTime = function()
	{
	var date = new Date();
	var hours = date.getHours();
	var minutes = date.getMinutes();
	var seconds = date.getSeconds();
	console.log(hours + ':' + minutes + ':' + seconds);
	}

setInterval(updateTime, 1000);
Ответить с цитированием
  #5 (permalink)  
Старый 18.04.2013, 16:55
Новичок на форуме
Отправить личное сообщение для Blavkhawk Посмотреть профиль Найти все сообщения от Blavkhawk
 
Регистрация: 16.04.2013
Сообщений: 8

Это конвертор внутриигрового времени.
Скрипт берет время по гринвичу и конвертит в игровое время.
Собственно это и есть весь смысл скрипта.
Ответить с цитированием
  #6 (permalink)  
Старый 18.04.2013, 23:12
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

Blavkhawk,
вы делаете без интервала?
Ответить с цитированием
  #7 (permalink)  
Старый 18.04.2013, 23:13
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

И какова разница между минутами и секундами?
Ответить с цитированием
  #8 (permalink)  
Старый 19.04.2013, 08:06
Новичок на форуме
Отправить личное сообщение для Blavkhawk Посмотреть профиль Найти все сообщения от Blavkhawk
 
Регистрация: 16.04.2013
Сообщений: 8

Сообщение от Dim@ Посмотреть сообщение
Blavkhawk,
вы делаете без интервала?
При разовом запуске как мне кажется сути дела это не меняет.
Скрипт же получает данные о времени и конвартит его. Только однократно.
Ответить с цитированием
  #9 (permalink)  
Старый 19.04.2013, 08:08
Новичок на форуме
Отправить личное сообщение для Blavkhawk Посмотреть профиль Найти все сообщения от Blavkhawk
 
Регистрация: 16.04.2013
Сообщений: 8

Сообщение от Dim@ Посмотреть сообщение
И какова разница между минутами и секундами?
Проблема в том, кто она не постоянна.
Минуты плаваю в разнице где то от 45 секунд и до 30 минут.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Всплытие событий или что то не так... Кирюха =) jQuery 6 30.03.2013 12:56
как получить тот кусок текста который сейчас видно на экране ? mitiya Общие вопросы Javascript 27 21.03.2013 12:21
Бытует мнение что те кто достатьчно разовьются покидают этот форум, это так? megaupload Оффтопик 55 02.03.2013 21:16
Подскажите, что за скрипт? Владимир Новицкий Элементы интерфейса 5 01.03.2011 20:44
Как сделать так что бы ссылки мигали разными цветами? woo_hoo Общие вопросы Javascript 2 19.03.2010 11:28