[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

midnight

misiek

1/11/2006 6:11:00 PM

how to use that method to returns a new time representing the start of
the day (0:00)


134: def beginning_of_day
135: (self - self.seconds_since_midnight).change(:usec => 0)
136: end


i'd like to to some like taht

if Time.now < modnight
do...
else
do..
end

any ideas ?
6 Answers

misiek

1/11/2006 6:52:00 PM

0

Jules Jacobs wrote:
> Time.now.beginning_of_day returns the beginning of today. But that's
> probably not what you want because this:
>
> Time.now < Time.now.beginning_of_day
>
thank you , this is exactly what I want

Jules

1/11/2006 7:07:00 PM

0

Time.now.beginning_of_day returns the beginning of today. But that's
probably not what you want because this:

Time.now < Time.now.beginning_of_day

Would always be true unless it is 0:00. What do you want to achieve?

misiek wrote:
> how to use that method to returns a new time representing the start of
> the day (0:00)
>
>
> 134: def beginning_of_day
> 135: (self - self.seconds_since_midnight).change(:usec => 0)
> 136: end
>
>
> i'd like to to some like taht
>
> if Time.now < modnight
> do...
> else
> do..
> end
>
> any ideas ?


--
Posted via http://www.ruby-....


David Vallner

1/11/2006 7:29:00 PM

0

misiek wrote:

> Jules Jacobs wrote:
>
>> Time.now.beginning_of_day returns the beginning of today. But that's
>> probably not what you want because this:
>>
>> Time.now < Time.now.beginning_of_day
>>
> thank you , this is exactly what I want
>
Mind you, it's pretty much always later than it was when the day
started. *wonders if misiek is hacking Ruby in a temporal anomaly*

David Vallner


misiek

1/11/2006 10:43:00 PM

0

David Vallner wrote:
> misiek wrote:
>
>> Jules Jacobs wrote:
>>
>>> Time.now.beginning_of_day returns the beginning of today. But that's
>>> probably not what you want because this:
>>>
>>> Time.now < Time.now.beginning_of_day
>>>
>> thank you , this is exactly what I want
>>
> Mind you, it's pretty much always later than it was when the day
> started. *wonders if misiek is hacking Ruby in a temporal anomaly*
>
> David Vallner
>
>

better now ? Time.now > Time.now.beginning_of_day

David Vallner

1/11/2006 11:41:00 PM

0

misiek wrote:

> David Vallner wrote:
>
>> misiek wrote:
>>
>>> Jules Jacobs wrote:
>>>
>>>> Time.now.beginning_of_day returns the beginning of today. But
>>>> that's probably not what you want because this:
>>>>
>>>> Time.now < Time.now.beginning_of_day
>>>>
>>> thank you , this is exactly what I want
>>>
>> Mind you, it's pretty much always later than it was when the day
>> started. *wonders if misiek is hacking Ruby in a temporal anomaly*
>>
>> David Vallner
>>
>>
>
> better now ? Time.now > Time.now.beginning_of_day
>
I don't know what you're trying to achieve here. ``Time.now >
Time.now.beginning_of_day'' is false for one microsecond each day at
midnight. You shouldn't really have to check for that, it's pretty much
the same as writing ``if true''. Numerical methods coming to mind, you
might instead want to check if the difference between Time.now and
Time.now.beginnning_of_day is less than a given time period.

David Vallner


Kero van Gelder

1/12/2006 3:22:00 PM

0

> I don't know what you're trying to achieve here. ``Time.now >
> Time.now.beginning_of_day'' is false for one microsecond each day at
> midnight. You shouldn't really have to check for that, it's pretty much
> the same as writing ``if true''. Numerical methods coming to mind, you
> might instead want to check if the difference between Time.now and
> Time.now.beginnning_of_day is less than a given time period.

And that is precisely why you need

now = Time.now
if now.some_value < OtherValue.from(now)

instead of

if Time.now.some_value < OtherValue.from(Time.now)

for all practical purposess. The latter code will seem to work, even when
you do unit tests; but occasionally it will break and you'll never figure
out why, since it always works when you debug.