Когда вы создаете объект даты с помощью Date()
, значение даты всегда сохраняется в UT C.
Изменяется только вывод на печать в зависимости от часового пояса вашего компьютера.
Однако метод Date.prototype.toLocaleSting()
позволяет печатать дату в любом часовом поясе. Это не то же самое, что переход на летнее время, но должна быть возможность выбрать часовой пояс в желаемое время.
function showDates() {
let now = new Date();
let local = now.toLocaleString('en-US');
let seoul = now.toLocaleString('en-US', {
timeZone: 'Asia/Seoul'
});
let moscow = now.toLocaleString('en-US', {
timeZone: 'Europe/Moscow'
});
result.value = `Local Time: ${local}\n`;
result.value += `Seoul Time: ${seoul}\n`
result.value += `Moscow Time: ${moscow}`
}
const result = document.getElementById('result');
showDates();
textarea {
width: 20rem;
height: 4rem;
}
<h4>Show Dates with toLocaleString()</h4>
<textarea id="result"></textarea>
Названия часовых поясов .