Which is the best way to do this? (about save time data)

I want to save the time that is needed to complete a task I would like to save hours and minutes, after filling a form. So I need a select tag, but I am not able to use select_time the way way I want. By default, it gives me the present time, and I would like to have two selects that begin with '00'. After filling the gap, shoud I save this like a timestamp?

So I would like to know what is the best to use in the form and how to save it. I'll appreciate any help.

Have you looked at select_hour and select_minute, specifically select_hour(0) and select_minute(0)?

How it gets depends on what data you need. Do you know the date the task was started? Do you need to know the date the task was completed? Do you just need to know that for task “A” it was worked on for 3 hours and 10 minutes (say)?

Cheers–

Charles

I think that select_hour(0) and select_minute(0) it's what I need. I just want to save the time it's needed to complete a task, so I only need to select and hour and minutes. How should I save this? Like a string or like a datetime? I think it would b better datetime, because I want to search by this time. But then I think I should need to create a datetable using two fields, select_hour and select_minute. Is it correct?

As I said, this depends on what you are wanting to record. For me, if I were interested in something like “On this date I worked on task-1 for 3 hours and 37 minutes, and task-2 for 2 hours and 7 minutes” I would be recording a date, and then I would convert “hours” and “minutes” to just minutes (3 hours and 37 minutes = 217 minutes) and save the date and the total minutes. All of the Date, DateTime, and Time objects in ruby are related to a calendar, i.e., the want a date and a specific time, not a date and a duration, which seems to me what you are after. Make sense?

Cheers–

Charles

Because you want a duration rather than a specific time, I would convert hours and minutes to pure minutes and save that integer. That would make the searching easy and fast: @tasks = Task.find(:all, :order => :start_date, :conditions => ‘duration >= 190’) or some such.

Cheers–

Charles