0

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}`;
}
    
sbgib
  • 5,580
  • 3
  • 19
  • 26
Emily Scone
  • 129
  • 1
  • 12

1 Answers1

0

Once you have the offset value, pass it into this function, in order to get the time in the desired city:

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()}`
}
Armando Guarino
  • 1,120
  • 1
  • 5
  • 16