J'exécute du code dans le backend des feuilles de google, et j'ai une fonction sur une minuterie toutes les minutes qui détermine ensuite si c'est le bon moment pour qu'il s'exécute. J'ai besoin qu'il s'exécute à des moments précis. Je l'ai fait fonctionner correctement pour se déclencher à 21h05, mais maintenant que l'heure d'été est passée, il se déclenche à 20h05.

Comment résoudre ce problème sans avoir à modifier manuellement la valeur après chaque changement d'heure d'été? Existe-t-il un moyen pour getHours () de renvoyer le même numéro au même moment tout au long de l'année?

1
Jeffrey 5 nov. 2019 à 05:36

2 réponses

getUTCHours () est probablement un meilleur pari si vous voulez de la cohérence car il n'y aura pas d'heure d'été.

1
Chris Read 5 nov. 2019 à 02:40

Vous pouvez utiliser getUTCHours () pour obtenir un nombre d'heures constant sans se soucier de l'heure d'été.

Cela dépend de ce que vous entendez par cohérent. Si vous ne recherchez pas la même heure chaque jour dans l'heure locale, mais que l'événement se produise toutes les 24 heures, je suggère d'utiliser l'heure UTC.

var halloweenNight = new Date('October 31, 2019, 21:00:00 EDT')
var thanksgivingNight = new Date('November 28, 2019, 20:00:00 EST')

console.log('Halloween EDT: ' + halloweenNight.toString())
console.log('Thanksgiving EST: ' + thanksgivingNight.toString())

console.log('Halloween UTC: ' + halloweenNight.toUTCString())
console.log('Thanksgiving UTC: ' + thanksgivingNight.toUTCString())

console.log('Halloween local hours: ' + halloweenNight.getHours())
console.log('Thanksgiving local hours: ' + thanksgivingNight.getHours())

console.log('Halloween UTC hours: ' + halloweenNight.getUTCHours())
console.log('Thanksgiving UTC hours: ' + thanksgivingNight.getUTCHours())
1
HarlemSquirrel 5 nov. 2019 à 03:07