De la simplicité de travailler des dates en Ruby

Imaginons qu’on veuille ajouter 10000 jours au 26/06/2008. Date.new(2008,6,26) permet de créer un premier objet date. La méthode “+” permet ensuite d’ajouter des jours, et pour info “>>” d’ajouter des mois. Modulo un require “Date” au début, on a tout ce qu’il faut ! Il faut juste penser à faire un “to_s” à la fin pour sortir une chaine de caractères, sauf si on utilise “puts” qui l’appelle tout seul…

Au final, même pas besoin de faire un script, une oneliner suffit :

root@vds# ruby -e ‘require “Date”; puts Date.new(2008,6,26) + 10000’
2035-11-12

Même genre de solution pour trouver un écart de dates, ou bien sûr de nombres :

root@vds# ruby -e ‘require “Date”; puts Date.new(2008,9,19) – Date.new(2008,6,26)’
85
root@vds# ruby -e ‘puts 10000 – 85’
9915

Dans 10000 jours depuis le 26/06, c’est à dire 9915 jours à compter d’aujourd’hui, nous serons le 12 novembre 2035 ! Merci Ruby :-)