Convert from DateTIme to Time

Hello :slight_smile:

How can I convert from DateTIme to Time?

Thank you!

···

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

Hello :slight_smile:

How can I convert from DateTIme to Time?

require "date"

class DateTime
  def to_time
    Time.mktime(year, month, day, hour, min, sec)
  end
end

date = DateTime.now
time = date.to_time
time.class => Time

Horacio

···

On Wed, Mar 18, 2009 at 7:46 AM, Guillaume Loader <picpic72@hotmail.com> wrote:

Thank you!
--
Posted via http://www.ruby-forum.com/\.

One little glitch. Time can only represent values through January 1, 2038,
DateTime has a longer range.

···

On Wed, Mar 18, 2009 at 12:23 AM, Horacio Sanson <horacio.sanson@gmail.com>wrote:

On Wed, Mar 18, 2009 at 7:46 AM, Guillaume Loader <picpic72@hotmail.com> > wrote:
> Hello :slight_smile:
>
> How can I convert from DateTIme to Time?
>

require "date"

class DateTime
       def to_time
               Time.mktime(year, month, day, hour, min, sec)
       end
end

date = DateTime.now
time = date.to_time
time.class => Time

--
Rick DeNatale

Blog: http://talklikeaduck.denhaven2.com/
Twitter: http://twitter.com/RickDeNatale
WWR: http://www.workingwithrails.com/person/9021-rick-denatale
LinkedIn: http://www.linkedin.com/in/rickdenatale

* Rick DeNatale <rick.denatale@gmail.com> [2009-03-18 22:07:29 +0900]:

One little glitch. Time can only represent values through January 1, 2038,
DateTime has a longer range.

This problem seems only exist on mac.

22:20:~$ uname -a
Linux aiur 2.6.28-ARCH #1 SMP PREEMPT Sun Mar 8 10:55:58 CET 2009 x86_64
Intel(R) Core(TM)2 Duo CPU T8300 @ 2.40GHz GenuineIntel GNU/Linux

22:20:~$ ruby -v -e 'p Time.mktime(3000)'
ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]
Wed Jan 01 00:00:00 +0800 3000

22:20:~$ ruby186 -v -e 'p Time.mktime(3000)'
ruby 1.8.6 (2007-03-13 patchlevel 0) [x86_64-linux]
Wed Jan 01 00:00:00 +0800 3000

- Jan

···

--
Rick DeNatale

Blog: http://talklikeaduck.denhaven2.com/
Twitter: http://twitter.com/RickDeNatale
WWR: http://www.workingwithrails.com/person/9021-rick-denatale
LinkedIn: http://www.linkedin.com/in/rickdenatale

--
jan=callcc{|jan|jan};jan.call(jan)

Xie Hanjian wrote:

* Rick DeNatale <rick.denatale@gmail.com> [2009-03-18 22:07:29 +0900]:
  

One little glitch. Time can only represent values through January 1, 2038,
DateTime has a longer range.
    
This problem seems only exist on mac.

22:20:~$ uname -a Linux aiur 2.6.28-ARCH #1 SMP PREEMPT Sun Mar 8 10:55:58 CET 2009 x86_64
Intel(R) Core(TM)2 Duo CPU T8300 @ 2.40GHz GenuineIntel GNU/Linux

22:20:~$ ruby -v -e 'p Time.mktime(3000)'
ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]
Wed Jan 01 00:00:00 +0800 3000

22:20:~$ ruby186 -v -e 'p Time.mktime(3000)'
ruby 1.8.6 (2007-03-13 patchlevel 0) [x86_64-linux]
Wed Jan 01 00:00:00 +0800 3000

- Jan

Pretty sure it's a 32 vs. 64 bit thing.

-Justin

* Justin Collins <justincollins@ucla.edu> [2009-03-18 23:53:57 +0900]:

Xie Hanjian wrote:

* Rick DeNatale <rick.denatale@gmail.com> [2009-03-18 22:07:29 +0900]:
  

One little glitch. Time can only represent values through January 1, 2038,
DateTime has a longer range.
    
This problem seems only exist on mac.

22:20:~$ uname -a Linux aiur 2.6.28-ARCH #1 SMP
PREEMPT Sun Mar 8 10:55:58 CET 2009 x86_64
Intel(R) Core(TM)2 Duo CPU T8300 @ 2.40GHz GenuineIntel GNU/Linux

22:20:~$ ruby -v -e 'p Time.mktime(3000)'
ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]
Wed Jan 01 00:00:00 +0800 3000

22:20:~$ ruby186 -v -e 'p Time.mktime(3000)'
ruby 1.8.6 (2007-03-13 patchlevel 0) [x86_64-linux]
Wed Jan 01 00:00:00 +0800 3000

- Jan

Pretty sure it's a 32 vs. 64 bit thing.

aha, I should keep a 32bit machine around :slight_smile:

Thanks,
Jan

···

-Justin

--
jan=callcc{|jan|jan};jan.call(jan)