Как определить, является ли это днем ​​или ночью в javascript или jquery?

Я хочу применить разные листы CSS на моем сайте в зависимости от времени браузера. например, если его дневное время, отобразите day.css или night.css на ночь.

Я могу сделать это с PHP, но он основан на времени сервера, а не в локальном браузере.

Есть ли способ рассказать время в javascript? Я, вероятно, буду использовать jQuery, чтобы просто инициировать css после его разработки.

Ответ 1

var hr = (new Date()).getHours(); //get hours of the day in 24Hr format (0-23)

В зависимости от вашего определения дня/ночи выполните свою магию:)

PS: Если ваш день/ночь начинается не в тот час, вы можете попробовать getMinutes().

Ответ 2

(new Date).getHours()

получит локальный час времени (0-23) клиента. Основываясь на этом значении, замените таблицу стилей на странице. Я бы установил таблицу стилей дня как значение по умолчанию и заменил ее при необходимости.

Моя первоначальная мысль заключается в том, что вы хотели бы выполнить эту операцию как можно скорее на клиенте, чтобы избежать потенциального обновления браузера.

Ответ 3

Я использую эту логику:

const hours = new Date().getHours()
const isDayTime = hours > 6 && hours < 20