J'utilise une Date
et j'essaie d'obtenir la date actuelle à l'aide de la méthode getDate()
. Mais évidemment, il charge la date et l'heure du système. J'exécute le code depuis l'Inde, mais je souhaite obtenir la date et l'heure du Royaume-Uni en utilisant la même méthode. Comment puis je faire ça ?
Cette question a déjà des réponses:
Réponses
Trop de publicités?Si vous connaissez le décalage UTC, vous pouvez le transmettre et obtenir l'heure à l'aide de la fonction suivante :
function calcTime(city, offset) {
// create Date object for current location
var d = new Date();
// convert to msec
// subtract local time zone offset
// get UTC time in msec
var utc = d.getTime() + (d.getTimezoneOffset() * 60000);
// create new Date object for different city
// using supplied offset
var nd = new Date(utc + (3600000*offset));
// return time as a string
return "The local time for city"+ city +" is "+ nd.toLocaleString();
}
alert(calcTime('Bombay', '+5.5'));
Extrait de : Convertir l'heure locale en une autre
chris
Points
441
La meilleure façon de le faire est d'utiliser getLocaleString, comme ceci :
Créez un objet date :
date = new Date(0)
Si vous êtes à Berlin, cela devrait se convertir en cette chaîne :
Jeu 01 janv. 1970 01:00:00 GMT+0100 (CET)
Obtenez les heures à Athènes:
date.toLocaleString('de-DE', {hour: '2-digit', hour12: false, timeZone: 'Europe/Athens' })
'02'
Obtenez les heures à Shanghai :
date.toLocaleString('de-DE', {hour: '2-digit', hour12: false, timeZone: 'Asia/Shanghai' })
'08'
Joy Chowdhury
Points
146
C'est la bonne façon d'obtenir ##
function getTime(offset)
{
var d = new Date();
localTime = d.getTime();
localOffset = d.getTimezoneOffset() * 60000;
// obtain UTC time in msec
utc = localTime + localOffset;
// create new Date object for different city
// using supplied offset
var nd = new Date(utc + (3600000*offset));
//nd = 3600000 + nd;
utc = new Date(utc);
// return time as a string
$("#local").html(nd.toLocaleString());
$("#utc").html(utc.toLocaleString());
}