Преобразовать сдвиг часового пояса в секундах из UTC в javascript

Я вызываю API погоды, который возвращает мне JSON, содержащий часовой пояс -25000, и в документах он упоминается как «часовой пояс: сдвиг в секундах от UTC». Я хочу преобразовать это в фактическую дату и время с помощью JavaScript.

   {
      "timezone": -25200,
      "id": 420006353,
      "name": "Mountain View",
      "cod": 200
   }        

Подскажите, пожалуйста, как преобразовать этот "часовой пояс: -25200" в реальное время.

Вы сами приложили усилия? 25200 это -7 часов, вы могли бы сделать свой собственный маппинг?

evolutionxbox 26.12.2020 14:44

подскажите, пожалуйста, как я могу сделать свой собственный маппинг?

Siddhesh 26.12.2020 14:55

Это будет функция, которая принимает число и возвращает смещение часового пояса в любом значении, которое вы хотите. Используйте объект. Я бы не советовал считать. Вместо этого проработайте это вручную и поместите значения в себя.

evolutionxbox 26.12.2020 14:59

@evolutionbox видите, я не знаю, что это -25200, и я не знаю, какие вычисления необходимы для преобразования этой сущности в фактическую дату, не могли бы вы дать мне какую-нибудь подсказку (например, преобразовать км в метры, преобразовать метку времени unix в фактическое время ) так же?

Siddhesh 26.12.2020 15:03

Часовые пояса — это не даты. Они являются сдвигами во времени. 25200 - количество секунд.

evolutionxbox 26.12.2020 15:13
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
5
2 372
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете преобразовать часовой пояс в секундах в фактическую дату, как показано ниже.

  var d = new Date((new Date().getTime())-25200*1000)
  d.toISOString()
  ""2020-12-26T13:50:09.012Z""
getTime() находится в мс. Пожалуйста, объясните логику вычитания значения в секундах из одного в мс
charlietfl 26.12.2020 14:55

Я сделал это, но выдал ошибку «TypeError: (new Date()). .getTime())(часовой пояс)*1000) //d.toISOString(); вернуть d.toISOString(); } return(<p><em class = "white-text">{dateBuilder()}</em></p>);

Siddhesh 26.12.2020 15:07

@Siddhesh, ты не совсем точно скопировал пример

evolutionxbox 26.12.2020 15:13

Хорошо, я сделал небольшую ошибку, вызвавшую ошибку, но теперь я ее исправил. но смещение времени — это количество времени, которое вычитается из времени всемирного координированного времени (UTC) или добавляется к нему для получения текущего гражданского времени. В приведенном выше коде я вижу, что значение вычитается из системного времени. как именно это работает? Пожалуйста, объясните @evolutionbox и Нарендра Кумават

Siddhesh 26.12.2020 15:28

@ Сиддхеш, я не понимаю. Вы только что объяснили, как это работает

evolutionxbox 26.12.2020 17:30

@evolutionxbox Я понял, я использовал свой собственный код, чтобы получить местное время через UTC.

Siddhesh 27.12.2020 18:49

это дает мне неправильное время. @Siddhesh, если возможно, поделитесь своим решением

Ashik 04.02.2021 20:38

Другие вопросы по теме