I am storying a column called start time and endtime, both having mysql type "time". I am using formtastic to create the forms like <%= f.input :time_start, :label => "Between", :as => :time, :ignore_date => true %> The time gets stored just fine (though in 24 hour format, which is another headache), but when I extract this time to compare it to Time.now, to figure out, if "now" is between end and start time, the time returned is something like Sat Jan 01 15:00:00 UTC 2000, which is nowhere in 2010. Why is this happening? Whats the best way to store start and end time to compare later on with "now". Thanks -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On May 17, 6:29 am, badnaam <asitkmis...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> I am storying a column called start time and endtime, both having > mysql type "time". >[snip]> > The time gets stored just fine (though in 24 hour format, which is > another headache), but when I extract this time to compare it to > Time.now, to figure out, if "now" is between end and start time, the > time returned is something like Sat Jan 01 15:00:00 UTC 2000, which is > nowhere in 2010. > > Why is this happening? Whats the best way to store start and end time > to compare later on with "now".The mysql time type is a pure time of day type (ie no date component). You want a datetime column. Fred -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Thanks Frederick. If I do that, it stores the date of the day the record was updated or created, I would still need to extract just the time portion and compare it. Is there a way to do that? My use case is that on May 1st, customer makes reservation beween 7-9pm for May 5th. The record is stored with timestamps of 5/1/2010: 7-9 pm. When he shows up on May5th, I need to validate Time.now.. whether it''s between 7 - 9. On May 17, 12:17 am, Frederick Cheung <frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> On May 17, 6:29 am, badnaam <asitkmis...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > I am storying a column called start time and endtime, both having > > mysql type "time". > > [snip] > > > > > The time gets stored just fine (though in 24 hour format, which is > > another headache), but when I extract this time to compare it to > > Time.now, to figure out, if "now" is between end and start time, the > > time returned is something like Sat Jan 01 15:00:00 UTC 2000, which is > > nowhere in 2010. > > > Why is this happening? Whats the best way to store start and end time > > to compare later on with "now". > > The mysql time type is a pure time of day type (ie no date component). > You want a datetime column. > > Fred > > -- > You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. > To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. > For more options, visit this group athttp://groups.google.com/group/rubyonrails-talk?hl=en.-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
badnaam wrote:> The time gets stored just fine (though in 24 hour format, which is > another headache)Time is effectively meaningless without the date part. You say you want to validate times like 7 pm to 9 pm. Does that mean 7-9 pm standard time or daylight time? Without the date you can''t know. The time can be stored in UTC, but in order to display the time in a format your users will understand (local time) you again must know the date.> My use case is that on May 1st, customer makes reservation beween > 7-9pm for May 5th. The record is stored with timestamps of 5/1/2010: > 7-9 pm. > > When he shows up on May5th, I need to validate Time.now.. whether it''s > between 7 - 9. > On May 17, 12:17�am, Frederick Cheung <frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>Even in your example you are specifying the date with the time. So if your customer makes a reservation between 7-9pm on May 5th, store a datetime range where start_time = May 5, 2010 7:00 PM EDT and end_time = May 5, 2010 9:00 PM EDT. -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.