Date et Heure

1. La classe Time

La classe Time représente une date/heure au format UTC et GMT. En interne elle stocke le nombre de secondes et de microsecondes depuis le 1er janvier 1970 (UTC).

a. Construction

Par l’opérateur new sans argument, les date et heure sont celles en cours. Cela revient au même d’appeler la fonction statique now. Par la fonction statique at, il est possible d’ajouter un offset en secondes et microsecondes par rapport au 1er janvier 1970, cet offset peut être positif ou négatif (sur certains systèmes pour ce dernier cas). Enfin par les fonctions statiques utc, gm et local, on construit respectivement une date/heure UTC, GMT et Local à la machine. Elles prennent en arguments dans l’ordre : l’année, le mois (1 à 12), le jour, l’heure (0 à 23), les minutes, les secondes, les microsecondes et le décalage, ces valeurs peuvent être renseignées partiellement si l’ordre est respecté.

Exemples :

puts Time.new
# Mon Jul 28 10:51:09 +0200 2008

puts Time.now
# Mon Jul 28 10:51:09 +0200 2008

puts Time.at( 0 )
# Thu Jan 01 01:00:00 +0100 1970

puts Time.at( 60 * 60 * 24 )
# Fri Jan 02 01:00:00 +0100 1970

puts Time.gm( 2008 )
# Tue Jan 01 00:00:00 UTC 2008

puts Time.gm( 2008, 2, 2 )
# Sat Feb 02 00:00:00 UTC 2008

puts Time.local( 2008, 7, 28, 10, 49, 50 )
# Mon Jul 28 10:49:50 +0200 2008 

b. Opérateurs

Grâce aux opérateurs + et -, il est possible de faire varier une date/heure avec un nombre...

Pour consulter la suite, découvrez le livre suivant :
couv_Ruby.PNG
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
XML
Suivant
Les Threads