Comment puis-je créer un nouvel objet Date dans IRB avec une date donnée. Ce qui suit n'a pas fonctionné.
1.9.3p194 :053 > require 'active_support'
=> true
1.9.3p194 :054 > Date.new
=> #<Date:0x9d80730>
1.9.3p194 :055 > Date.parse('12/01/2012')
NoMethodError: undefined method `parse' for Date:Class
from (irb):55
1.9.3p194 :055 > Date.new('12/01/2012')
ArgumentError: wrong number of arguments(1 for 0)
Selon Date documentation :
require 'date'
Date.new(2001,2,3) #=> #<Date: 2001-02-03 ...>
Date.jd(2451944) #=> #<Date: 2001-02-03 ...>
Date.ordinal(2001,34) #=> #<Date: 2001-02-03 ...>
Date.commercial(2001,5,6) #=> #<Date: 2001-02-03 ...>
Date.parse('2001-02-03') #=> #<Date: 2001-02-03 ...>
Date.strptime('03-02-2001', '%d-%m-%Y')
#=> #<Date: 2001-02-03 ...>
Time.new(2001,2,3).to_date #=> #<Date: 2001-02-03 ...>
1.9.3-p125 :012 > require 'date'
=> true
1.9.3-p125 :013 > Date::new(2012,02,03)
=> #<Date: 2012-02-03 ((2455961j,0s,0n),+0s,2299161j)>
1.9.3-p125 :014 >
Si vous essayez d'obtenir les extensions active_support à Date en dehors de Rails, vous devrez utiliser le module core_ext:
require 'active_support/core_ext/date/calculations'
Date.parse('12/01/2012')
=> #<Date: 2012-01-12 ((2455939j,0s,0n),+0s,2299161j)>
Plus d'informations dans ce guide Rails: http://edgeguides.rubyonrails.org/active_support_core_extensions.html
Date.strptime("2012-09-21 19:45:48","%Y-%m-%d %H:%M:%S")
require 'date'
Date::strptime("29-05-2017", "%d-%m-%Y")
Vous devez donc inclure ce module date dans votre code, puis utiliser la méthode strptime à l'intérieur de laquelle vous remarquerez peut-être depuis un an, j'ai utilisé capitalYparce que l'année complète est entrée comme premier paramètre de la méthode strptime. Vous pouvez utiliser small y si la date est comme '29 -05-17 '.
Vous devez utiliser l'extension de date de la bibliothèque Ruby Standard. La plupart des exemples de la documentation ne montrent pas toujours que vous en avez besoin.
require 'date'
était ce dont vous aviez besoin. Ce n'est pas un ensemble intégré de classes ou de modules.
Vous obtenez deux classes avec cet ajout,
Date
DateTime
Et avec cela, vous pouvez maintenant utiliser les informations trouvées dans le docs