Virtual-Royaume / Royaume-Discord-Bot

It is the bot of our Discord community, it offers various utility features. It is written in TypeScript and uses DiscordJS to interact with the Discord API.
9 stars 1 forks source link

Probleme de timezone #60

Closed Bluzzi closed 2 years ago

Bluzzi commented 2 years ago

Il faudrait utiliser dayjs pour mieux gérer les dates du projet. Notamment celle de l'anniversaire qui est actuellement souhaité deux heures en retard quand le bot est en ligne sur le VPS.

Bluzzi commented 2 years ago

En attendant la correction de cette issue à travers le package dayjs, voici une correction directement avec les dates JS que j'ai déployé sur le VPS :

function changeTimezone(date, ianatz) {

  // suppose the date is 12:00 UTC
  var invdate = new Date(date.toLocaleString('en-US', {
    timeZone: ianatz
  }));

  // then invdate will be 07:00 in Toronto
  // and the diff is 5 hours
  var diff = date.getTime() - invdate.getTime();

  // so 12:00 in Toronto is 17:00 UTC
  return new Date(date.getTime() - diff); // needs to substract

}

// E.g.
var here = new Date();
var there = changeTimezone(here, "America/Toronto");

console.log(`Here: ${here.toString()}\nToronto: ${there.toString()}`);

Source : https://stackoverflow.com/a/53652131/16026760