Comment puis-je trouver un emplacement aléatoire basé sur le moment-timezone.js ? Je souhaite afficher un nouvel emplacement à chaque fois que vous actualisez la page.

Code actuel:

<hero>
    <div id="hover">
    <h2>Present time</h2>
    <div id="time"></div>
    </div>
</hero>

<script>

(function clock() {
  var now = moment().format('lll'); //local time

  /*
  I want many of these..
  moment.tz("Europe/Berlin").format('lll');
  */

  var time = document.getElementById('time');
  time.innerHTML = now;

  setInterval(clock, 1000);
})();

</script>
-1
Martin 17 mars 2019 à 17:29

2 réponses

Meilleure réponse

Vous pouvez choisir un fuseau horaire aléatoire parmi tous les fuseaux horaires disponibles :

const timezones = moment.tz.names();
const randTimezone = timezones[Math.floor(Math.random() * timezones.length)];
const now = moment.tz(randTimezone).format('lll');

document.write(randTimezone, '<br>', now);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.23/moment-timezone-with-data.min.js"></script>
0
Scriptim 17 mars 2019 à 17:30

Vous pouvez obtenir un fuseau horaire aléatoire en sélectionnant un élément aléatoire dans tous les fuseaux horaires.

var all = moment.tz.names();
var randomTimeZone = all[Math.floor(Math.random()*all.length)];
// Use it in the code as
moment.tz(randomTimeZone).format('lll');
0
Aakash More 17 mars 2019 à 14:51