Convert from DateTIme to Time


#1

Hello :slight_smile:

How can I convert from DateTIme to Time?

Thank you!


#2

On Wed, Mar 18, 2009 at 7:46 AM, Guillaume L. removed_email_address@domain.invalid
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

Horacio


#3

On Wed, Mar 18, 2009 at 12:23 AM, Horacio S.
removed_email_address@domain.invalidwrote:

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

end

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

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


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


#4

Xie H. wrote:

Intel® Core™2 Duo CPU T8300 @ 2.40GHz GenuineIntel GNU/Linux

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

-Justin


#5

PREEMPT Sun Mar 8 10:55:58 CET 2009 x86_64

  • Jan

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

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

Thanks,
Jan


#6

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® Core™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