2009-09-07 8 views

Répondre

0
require 'time' 
x = "2009/04/16 19:52:30" 
begin 
    y = Time.parse(x) 
    [y.year, y.month, y.day] # => [2009, 4, 16] 
rescue ArgumentError 
    puts "cannot parse date: #{x}" 
end 
1

Comment la chaîne est-elle formatée? Vous pouvez simplement convertir la chaîne datetime en un objet datetime et appeler les méthodes d'instance.

require 'time' 
x = "2009/04/16 19:52:30" #grab your datetime string from the database and assign it 

y = DateTime.strptime(x, "%Y/%m/%d %H:%M:%S") #create a new date object 

Alors simple y.day() donne:

y.day() = 16 

et y.hour():

y.hour() = 19 

FYI jamais réellement utilisé Ruby beaucoup, donc ce que je est sorti de jouer avec la console, donc j'espère que cela aide à faire la lumière.

Questions connexes