@Rufix

Как сделать из данного времени код в формате HEX?

Нашел в Youtube видео, где человек делает часы, которые меняют фон с течением времени. Решил повторить это, естественно без подсказок, правда приходиться лезть сюда, вы уж простите (это наверное глупо).
В общем, мне нужно превратить время в шестнадцатиричную систему, чтобы потом использовать это как цвет в формате HEX. Подскажите пожалуйста, как мне это сделать? Например, время сейчас 20:41:26

Если вам вдруг нужен код, то вот
var clock = document.getElementById ('clock');
var color = document.getElementById ('color');


var timer = setInterval (function () {
	var date = new Date ();
	var h    = date.getHours () + '';
	var m	 = date.getMinutes () + '';
	var s    = date.getSeconds () + '';
	if (h.length == 1) {h = '0' + h};
	if (m.length == 1) {m = '0' + m};
	if (s.length == 1) {s = '0' + s};
	clock.innerHTML = h + ':' + m + ':' + s;
}, 1000);
  • Вопрос задан
  • 55 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Для цвета нужны значения трёх компонентов от 0 до 255 в десятичной системе, или от 00 до FF в шестнадцатиричной. С 16-ричной не обязательно связываться.
body {
  background-color: rgb(123, 45, 67);
}

или динамически
var R = 123, G = 45, B = 67;
document.body.style.backgroundColor = `rgb(${R}, ${G}, ${B})`;

Часы меняются от 0 до 23, минуты и секунды – от 0 до 60.
Надо «спроецировать» каждое из них на диапазон 0..255.

Например, часы:
var D = new Date();
var hours = D.getHours(); // 0..23
var RR = Math.floor(255 * hours / 23); // 0 .. 255

// то же с шестнадцатиричностью
var RR = Math.floor(255 * hours / 23).toString(16); // 0..FF
// может быть 1 или 2 цифры, надо всегда 2
RR = ('0' + RR).substr(-2); // дописываем в начале 0 и берем последние две цифры

Цвет будет меняться каждую секунду. Вроде бы, цель достигнута. Но хорошо бы придумать, как это сделать интереснее. Чтобы цвет менялся по кругу плавно, без резкого скачка в полночь. И больше напоминал цвет неба в это время суток.

Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
от 110 000 до 150 000 руб.
Индустрия Москва
от 200 000 до 250 000 руб.
Алгоритмика Москва
от 120 000 до 200 000 руб.
25 авг. 2019, в 22:35
1000 руб./за проект
25 авг. 2019, в 22:10
3000 руб./за проект
25 авг. 2019, в 21:50
6000 руб./за проект