Есть ли метод объекта Date () для исключения дневного сохранения? - PullRequest
1 голос
/ 06 мая 2020

Ребята, я живу в стране, у меня часовой пояс GMT + 1

Но когда я

console.log (Date ());

(предполагается, что на вашем локальном компьютере будет отображаться мгновенное время)

Javascript предположим, что я использую дневное время, даже если моя машина не работает, поэтому на выходе автоматически будет GMT + 2

Моя цель - уточнить время.

Я пробовал библиотеку моментов, но она дает тот же результат.

Подвопрос: где javascript берет данные о времени?

1 Ответ

0 голосов
/ 06 мая 2020

Когда вы создаете объект даты с помощью 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>

Названия часовых поясов .

...