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

**URL:** <https://www.ruby-forum.com/t/which-is-the-best-way-to-do-this-about-save-time-data/162691>\
**Category:** Rails\
**Created:** [March 12, 2009, 8:39pm UTC](https://www.ruby-forum.com/t/which-is-the-best-way-to-do-this-about-save-time-data/162691 "2009-03-12T20:39:01Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![captaffy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/f04885/32.png) [@captaffy](https://www.ruby-forum.com/u/captaffy)\
**Post date:** [March 12, 2009, 8:39pm UTC](https://www.ruby-forum.com/t/which-is-the-best-way-to-do-this-about-save-time-data/162691/1 "2009-03-12T20:39:01Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![captaffy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/f04885/32.png) [@captaffy](https://www.ruby-forum.com/u/captaffy)\
**Post date:** [March 13, 2009, 2:00pm UTC](https://www.ruby-forum.com/t/which-is-the-best-way-to-do-this-about-save-time-data/162691/2 "2009-03-13T14:00:31Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![captaffy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/f04885/32.png) [@captaffy](https://www.ruby-forum.com/u/captaffy)\
**Post date:** [March 12, 2009, 9:44pm UTC](https://www.ruby-forum.com/t/which-is-the-best-way-to-do-this-about-save-time-data/162691/3 "2009-03-12T21:44:25Z")

</div>

On Thu, Mar 12, 2009 at 2:39 PM, John S. \<  
removed\_email\_address@domain.invalid\> wrote:

> 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

---

<div class="post-metadata">

**Author:** ![captaffy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/f04885/32.png) [@captaffy](https://www.ruby-forum.com/u/captaffy)\
**Post date:** [March 13, 2009, 2:22pm UTC](https://www.ruby-forum.com/t/which-is-the-best-way-to-do-this-about-save-time-data/162691/4 "2009-03-13T14:22:20Z")

</div>

On Fri, Mar 13, 2009 at 8:00 AM, John S. \<  
removed\_email\_address@domain.invalid\> wrote:

> ## 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

---

<div class="post-metadata">

**Author:** ![captaffy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/f04885/32.png) [@captaffy](https://www.ruby-forum.com/u/captaffy)\
**Post date:** [March 13, 2009, 5:27pm UTC](https://www.ruby-forum.com/t/which-is-the-best-way-to-do-this-about-save-time-data/162691/5 "2009-03-13T17:27:01Z")

</div>

Thanks for your help, Charles. I appreciate it.

What I want is the duration needed to complete a specific task. So when  
I have a lot of tasks, I will be able to search tasks width its  
durations is bigger that 2 hours and 10 minutes, for example. I don’t  
care about days, monts of yearsM I only need the duration.  
So, should I use a Datetime in order to make search easy?

Again, thanks a lot.

Charles J. wrote:

> On Fri, Mar 13, 2009 at 8:00 AM, John S. \<  
> removed\_email\_address@domain.invalid\> wrote:
> 
> > ## 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

---

<div class="post-metadata">

**Author:** ![captaffy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/f04885/32.png) [@captaffy](https://www.ruby-forum.com/u/captaffy)\
**Post date:** [March 13, 2009, 6:53pm UTC](https://www.ruby-forum.com/t/which-is-the-best-way-to-do-this-about-save-time-data/162691/6 "2009-03-13T18:53:07Z")

</div>

On Fri, Mar 13, 2009 at 11:27 AM, John S. \<  
removed\_email\_address@domain.invalid\> wrote:

> 

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
