Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Ruby (http://www.velocityreviews.com/forums/f66-ruby.html)
-   -   Time: safe way to go to next day? (http://www.velocityreviews.com/forums/t811308-time-safe-way-to-go-to-next-day.html)

Emmanuel Touzery 10-21-2003 06:16 AM

Time: safe way to go to next day?
 
Hello,

When i have a Time object, to get to next day i do: myTime += (60*60*24)
Not very elegant, but it works and I didn't find a nicer way.
well, i thought it worked...

now we are going to change the time in europe...
So it breaks my assumption...

any proper way to fix it?

emmanuel

irb(main):008:0> now = Time.now
Tue Oct 21 08:14:44 Central Europe Daylight Time 2003
irb(main):009:0> todayMidnight = Time.local(now.year, now.month,
now.day, 0,0,0)
Tue Oct 21 00:00:00 Central Europe Daylight Time 2003 # today at 0:00

irb(main):010:0> todayMidnight + (60*60*24)
Wed Oct 22 00:00:00 Central Europe Daylight Time 2003 # tomorrow at 0:00

[..]

irb(main):014:0> todayMidnight + (60*60*24)*5
Sun Oct 26 00:00:00 Central Europe Daylight Time 2003 # sun at 0:00
irb(main):015:0> todayMidnight + (60*60*24)*6
Sun Oct 26 23:00:00 Central Europe Standard Time 2003 # <----------
!!!! sun at 23:00




nobu.nokada@softhome.net 10-21-2003 07:13 AM

Re: Time: safe way to go to next day?
 
Hi,

At Tue, 21 Oct 2003 15:16:44 +0900,
Emmanuel Touzery wrote:
> When i have a Time object, to get to next day i do: myTime += (60*60*24)
> Not very elegant, but it works and I didn't find a nicer way.
> well, i thought it worked...
>
> now we are going to change the time in europe...
> So it breaks my assumption...


If you just want dates, what about date.rb?

require 'date'
today = Date.today
today.to_s # => "2003-10-21"
(today+5).to_s # => "2003-10-26"

I've not tested it with DST though.

--
Nobu Nakada


Emmanuel Touzery 10-21-2003 07:19 AM

Re: Time: safe way to go to next day?
 
Hello,

nobu.nokada@softhome.net wrote:

>If you just want dates, what about date.rb?
>
> require 'date'
> today = Date.today
> today.to_s # => "2003-10-21"
> (today+5).to_s # => "2003-10-26"
>
>I've not tested it with DST though.
>
>
>

but where is all this stuff documented?
find.rb, base64.rb, date.rb, the other day someone wanted to remove
recursively a dir, and was given another one of those magic files...
which doc did i miss? :O(

otherwise, yes it's probably what i want. unfortunately i now sit on a
lot of code to convert :O(
if someone has a way with Time, it would simplify things for me...

thanks,

emmanuel




Sabby and Tabby 10-21-2003 04:30 PM

Re: Time: safe way to go to next day?
 
Emmanuel Touzery <emmanuel.touzery@wanadoo.fr> wrote:

> nobu.nokada@softhome.net wrote:
>
> >If you just want dates, what about date.rb?
> >
> > require 'date'
> > today = Date.today
> > today.to_s # => "2003-10-21"
> > (today+5).to_s # => "2003-10-26"
> >
> >I've not tested it with DST though.

>
> otherwise, yes it's probably what i want. unfortunately i now sit on a
> lot of code to convert :O(
> if someone has a way with Time, it would simplify things for me...


Here's half a solution:

class Time
require 'date'
DAY = 60*60*24

alias add +
def +(s)
return add(s) unless s % DAY == 0
d = Date.new(year, mon, day) + s / DAY
Time.local(d.year, d.mon, d.day, hour, min, sec, usec)
end
end

gabriele renzi 10-21-2003 07:22 PM

Re: Time: safe way to go to next day?
 
il Tue, 21 Oct 2003 16:19:48 +0900, Emmanuel Touzery
<emmanuel.touzery@wanadoo.fr> ha scritto::


>but where is all this stuff documented?
>find.rb, base64.rb, date.rb, the other day someone wanted to remove
>recursively a dir, and was given another one of those magic files...
>which doc did i miss? :O(
>


some is in the pickaxe.
Some you may just found looking at ruby-dir/lib, for the classes like
Array or String there is ri.

You may like to look at rj (as in 'ri'.succ) wich works like ri but
incorporates some more stuff (see on rubyforge).

ruby-doc.org has ri++ wich is 'ri + documentation via web' . Quite
useful too ;)



All times are GMT. The time now is 10:54 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.