108 votes

Comment obtenir l'heure actuelle sous forme d'un nombre entier à 13 chiffres en Ruby ?

J'ai ceci jQuery qui renvoie l'heure actuelle sous la forme du nombre de millisecondes depuis l'époque (1er janvier 1970) :

time = new Date().getTime();

Existe-t-il un moyen de faire la même chose en Ruby ?

Pour l'instant, j'utilise l'outil de Ruby Time.now.to_i qui fonctionne très bien mais renvoie un 10 chiffres nombre entier (nombre de secondes)

Comment puis-je faire en sorte qu'il affiche le nombre de millisecondes, comme dans jQuery ?

13voto

levinalex Points 2580

Obtenir un Temps avec Time.now en appelant #to_i renvoie un timestamp Unix (secondes à partir de l'époque). #to_f donne des secondes fractionnelles que vous pouvez utiliser pour obtenir des millisecondes à partir d'epoch :

Time.now.to_f * 1000

0voto

chava Points 21

Le typecast Integer(1e6*Time.now.to_f) renvoie un Bignum qui peut contenir les millisecondes.

0voto

Jordan Brough Points 2408

Utilisez Process.clock_gettime :

>> Process.clock_gettime(Process::CLOCK_REALTIME, :millisecond)
=> 1644588106765

Voir https://ruby-doc.org/core-3.1.0/Process.html#method-c-clock_gettime

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X