Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.01.2017, 18:16
Профессор
Отправить личное сообщение для Артист Посмотреть профиль Найти все сообщения от Артист
 
Регистрация: 25.09.2016
Сообщений: 163

Получить время по москве.
Нужно просто время часы:минуты:секунды.

var date = Date.now()
var str = date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds()


А как пользоваться getTimezoneOffset() не понятно...
Я так понял возвращает смещение в минутах от GMT +0

Просто отнять getTimezoneOffset(* 60000) от date?
Чтобы получить 0й пояс, а потом московский прибавить...

Последний раз редактировалось Артист, 08.01.2017 в 18:25.
Ответить с цитированием
  #2 (permalink)  
Старый 08.01.2017, 18:41
Профессор
Отправить личное сообщение для Артист Посмотреть профиль Найти все сообщения от Артист
 
Регистрация: 25.09.2016
Сообщений: 163

Нашел setUTCHours, работает она неправильно как-то...

var date = new Date()

alert(date)

date.setUTCHours(14)

alert(date)
Ответить с цитированием
  #3 (permalink)  
Старый 08.01.2017, 18:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Артист,
Часы на JS с Московским временем
Ответить с цитированием
  #4 (permalink)  
Старый 12.01.2017, 12:19
Профессор
Отправить личное сообщение для Артист Посмотреть профиль Найти все сообщения от Артист
 
Регистрация: 25.09.2016
Сообщений: 163

А как сделать проще вот это:
Просто мне нужно корректировку сделать в 3 секунды, а new Date я не знаю что это за хрень.
У setHours 3м параметром секунды идут, но их получить нужно, чтобы установить, да и вообще неудобная и непонятная хрень.
Выводит в алерте:
Цитата:
Thu Jan 12 2017 12:20:18 GMT+0400 (RTZ 3 (зима))
Нет ли просто функции, которая вернёт количество в секундах(не с 70го года а с начала суток)?

<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
		<script type="text/javascript">
			var h // Элемент с часами

			function componentToHex(c) // Перевести число(байт) в HEX
			{
				var hex = c.toString(16);
				return hex.length == 1 ? "0" + hex : hex;
			}
			function rgbToHex(r, g, b) // Вернет RGB в строке
			{
				return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b);
			}
			function time(utc) // Получает локальное время с переводом часового пояса
			{
				var d = new Date()
				d.setHours(d.getHours() + utc, d.getMinutes() + d.getTimezoneOffset())
				return d.toTimeString().substring(0, 8)
			}
			function update_hours() // Обновить время в элементе
			{
				var t = time(3)
				h.innerHTML = '&nbsp' + t + '&nbsp'

				var s = parseInt(t[6] + t[7], 10)
				var rgb = [0, 0, 0]

				if(s < 30)
				{
					rgb[0] = 127 + Math.round(s * 4.25)
					rgb[1] = 255
				}
				else
				{
					rgb[0] = 255
					rgb[1] = 255 - (Math.round(s * 4.25) - 127)
				}
				var col = rgbToHex(rgb[0], rgb[1], rgb[2])
				h.style.color = col
			}
			function main() // Стартовая функция
			{
				var b = document.querySelector('body')
				h = document.createElement('block')
				h.style.backgroundColor = '#000000'
				b.appendChild(h)

				update_hours()
				setInterval(update_hours, 1000)
			}
			document.addEventListener('DOMContentLoaded', main)
		</script>
	</head>
	<body></body>
</html>

Последний раз редактировалось Артист, 12.01.2017 в 12:28.
Ответить с цитированием
  #5 (permalink)  
Старый 12.01.2017, 19:07
Профессор
Отправить личное сообщение для Артист Посмотреть профиль Найти все сообщения от Артист
 
Регистрация: 25.09.2016
Сообщений: 163

Всё, вроде сделал, ну будет немножко время расходиться, зато не жрет так, как предыдущий...

<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
		<script type="text/javascript">
			var e, sec = 0 // Элемент с часами, секунды

			function DecToHex(c) // Перевести число(байт) в HEX
			{
				var hex = c.toString(16)
				return hex.length == 1 ? "0" + hex : hex
			}
			function update_hours() // Обновить время в элементе
			{
				var h = (sec % 86400) / 3600 ^ 0	// Получить часы (остаток от деления на сутки - чтобы не было 25 часов)
				var m = (sec % 3600) / 60 ^ 0		// Получить минуты
				var s = sec % 60					// Получить секунды

				sec++	// Считать секунды

				e.innerHTML = '&nbsp' + (h < 10 ? '0' + h : h) + ':' + (m < 10 ? '0' + m : m) + ':' + (s < 10 ? '0' + s : s) + '&nbsp'

				var rg = [0, 0]	// Массив для красного и зеленого цвета

				if(s < 30) rg = [127 + Math.round(s * 4.25), 255]				// До 30 секунд медленно из зеленого в желтый
				else if(s < 50) rg = [255, 255 - (Math.round(s * 4.25) - 127)]	// До 50 из желтого в оранжевый
				else rg = [255, 170 - (Math.round(s * 17) - 850)]				// До 59 из оранжевого в красный

				var col = "#" + DecToHex(rg[0]) + DecToHex(rg[1]) + '00'	// Форматирование цвета
				e.style.color = col	// Задать цвет текста элементу
			}
			function main() // Стартовая функция
			{
				var b = document.querySelector('body')	// Найти элемент body
				e = document.createElement('block')		// Создать элемент
				e.style.backgroundColor = '#000000'		// Задать цвет фона элементу
				b.appendChild(e)						// Вставить элемент в body 

				var t = new Date() // Получить 1 раз локальное время для UTC +00
				var h = t.getUTCHours()
				var m = t.getUTCMinutes()
				var s = t.getUTCSeconds()

				// Перевести всё в секунды, и прибавить нужный часовой пояс, и скорректировать секунды
				sec = ((h * 3600) + (m * 60) + s) + ((3 * 3600) - 4) 

				update_hours()	// Сразу отобразить
				setInterval(update_hours, 1000)	// И каждую секунду
			}
			document.addEventListener('DOMContentLoaded', main)
		</script>
	</head>
	<body></body>
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
получить время с сервера Саша82 Javascript под браузер 35 22.05.2020 22:18
получить время показа рекламы VladUA Общие вопросы Javascript 0 04.08.2014 13:13
Position fixed, но динамический по оси ОХ tvixa Элементы интерфейса 4 09.09.2013 15:39
Как получить Draggable и в то-же время Sortable элементы Munk Библиотеки/Тулкиты/Фреймворки 1 15.03.2012 13:00
Как получить время простоя машины? IvipIZerg Ваши сайты и скрипты 22 05.06.2009 12:00