Чтобы узнать текущее время в Москве, можно воспользоваться объектом Date в JavaScript. Ниже представлен пример кода, который позволяет получить текущий час по московскому времени:
```javascript
const date = new Date();
const timeZoneOffset = date.getTimezoneOffset() * 60000; // получаем разницу во времени с UTC в миллисекундах
const mskTime = date.getTime() + (3 * 3600000) + timeZoneOffset; // добавляем к текущему времени разницу в 3 часа с учетом летнего времени
const mskDate = new Date(mskTime);
const currentHour = mskDate.getHours();
console.log(`Текущий час по московскому времени: ${currentHour}`);
```
Этот код сначала создает объект Date для текущей даты и времени, затем вычисляет разницу во времени с UTC и добавляет 3 часа (разница между UTC и Московским временем) с учетом летнего времени. В результате получается текущее время по московскому времени, из которого извлекается текущий час.
Чтобы оптимизировать этот код, можно создать функцию, которая будет возвращать текущий час по московскому времени:
```javascript
function getMoscowTime() {
const date = new Date();
const timeZoneOffset = date.getTimezoneOffset() * 60000;
const mskTime = date.getTime() + (3 * 3600000) + timeZoneOffset;
const mskDate = new Date(mskTime);
return mskDate.getHours();
}
console.log(`Текущий час по московскому времени: ${getMoscowTime()}`);
```
Теперь можно вызывать эту функцию в любом месте вашего кода, чтобы получить текущий час по московскому времени.