Javascript дата и время отображаются неправильно - PullRequest
1 голос
/ 16 января 2020

Я разработал веб-сайт, где конечные пользователи находятся в Торонто. Я установил для них часовой пояс, но он показывает неправильную дату. впереди один день из Торонто. Он показывает правильное время в какое-то время, но в конце дня он показывает время на один день вперед. Я не знаю, почему он это делает?

function calcTime(city, offset) {

    // create Date object for current location
    d = new Date();


    utc = d.getTime() + (d.getTimezoneOffset() * 60000);

    // create new Date object for different city
    // using supplied offset
    nd = new Date(utc + (3600000*offset));

    // return time as a string
    return  nd;

}
function getdatetime() {
var date =calcTime('Toronto', '-8');


var currentDate = date.toISOString().slice(0,10);
var currentTime = date.getHours() + ':' + (date.getMinutes()<10?'0':'') + date.getMinutes() ; 

document.getElementById('datetime').value = (currentDate+" " + currentTime); 
}

Последние записи:

2020-01-16 16: 44
2020-01-16 16:42

2020-01-16 16:41 // отсюда

2020-01-15 15: 25
2020-01-15 15: 23
2020-01-15 15:22

1 Ответ

0 голосов
/ 16 января 2020

Попробуйте следующий код.

function getdatetime() {
    let timezone =  new Date().toLocaleString("en-US", {timeZone: "America/Toronto"});
    let date = new Date(timezone);
    
    var currentDate = date.toISOString().slice(0,10);
    var currentTime = date.getHours() + ':' + (date.getMinutes()<10?'0':'') + date.getMinutes() ; 
    console.log(date);
}

getdatetime();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...