首页 > 解决方案 > How To convert UTC into local time on the web with javascript? from http://openweathermap.org/

问题描述

I am building a weather app using HTML, CSS and JavaScript. I have succeed in displaying my current time but no luck displaying local time of the input city.

here is what it looks like:

enter image description here

Can I perhaps us getTimeZoneOffset() somewhere? I don't seem to figure out

function displaytheResults (weather) {
let now = new Date();
  let date = document.querySelector('.location .date')
  date.innerText = dateBuilder(now);

}
  function dateBuilder(dt) {
    let months = ['January', 'Febuary', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
    let days = ['Monday', 'Tuesday', 'Wednesday','Thursday', 'Friday', 'Saturday']
    
    let date = dt.getDate();
    let year = dt.getFullYear();

    let day = days[dt.getDay()];
    let month = months[dt.getMonth()]

    return `${day} ${date} ${month} ${year}`;
}
    

标签: javascriptapiutc

解决方案


获得偏移值后,将其传递给此函数,以获取所需城市的时间:

function dateBuilder(city, offset) {

    var date = new Date();
    var utc = date.getTime() + (date.getTimezoneOffset() * 60000);
    var newDate = new Date(utc + (3600000 * offset));


    return `The local time in ${city} is ${newDate.toLocaleString()}`
}

推荐阅读