# Convert from DateTIme to Time

**URL:** <https://www.ruby-forum.com/t/convert-from-datetime-to-time/163178>\
**Category:** Ruby\
**Created:** [March 17, 2009, 11:49pm UTC](https://www.ruby-forum.com/t/convert-from-datetime-to-time/163178 "2009-03-17T23:49:15Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![loader](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/5daacb/32.png) [@loader](https://www.ruby-forum.com/u/loader)\
**Post date:** [March 17, 2009, 11:49pm UTC](https://www.ruby-forum.com/t/convert-from-datetime-to-time/163178/1 "2009-03-17T23:49:15Z")

</div>

Hello 🙂

How can I convert from DateTIme to Time?

Thank you!

---

<div class="post-metadata">

**Author:** ![loader](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/5daacb/32.png) [@loader](https://www.ruby-forum.com/u/loader)\
**Post date:** [March 18, 2009, 5:27am UTC](https://www.ruby-forum.com/t/convert-from-datetime-to-time/163178/2 "2009-03-18T05:27:03Z")

</div>

On Wed, Mar 18, 2009 at 7:46 AM, Guillaume L. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> Hello 🙂
> 
> 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

---

<div class="post-metadata">

**Author:** ![loader](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/5daacb/32.png) [@loader](https://www.ruby-forum.com/u/loader)\
**Post date:** [March 18, 2009, 2:11pm UTC](https://www.ruby-forum.com/t/convert-from-datetime-to-time/163178/3 "2009-03-18T14:11:44Z")

</div>

On Wed, Mar 18, 2009 at 12:23 AM, Horacio S.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)wrote:

> ```
> 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/](http://talklikeaduck.denhaven2.com/)  
Twitter: [http://twitter.com/RickDeNatale](http://twitter.com/RickDeNatale)  
WWR: [http://www.workingwithrails.com/person/9021-rick-denatale](http://www.workingwithrails.com/person/9021-rick-denatale)  
LinkedIn: [http://www.linkedin.com/in/rickdenatale](http://www.linkedin.com/in/rickdenatale)

---

<div class="post-metadata">

**Author:** ![loader](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/5daacb/32.png) [@loader](https://www.ruby-forum.com/u/loader)\
**Post date:** [March 18, 2009, 3:57pm UTC](https://www.ruby-forum.com/t/convert-from-datetime-to-time/163178/4 "2009-03-18T15:57:09Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![loader](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/5daacb/32.png) [@loader](https://www.ruby-forum.com/u/loader)\
**Post date:** [March 18, 2009, 4:39pm UTC](https://www.ruby-forum.com/t/convert-from-datetime-to-time/163178/5 "2009-03-18T16:39:06Z")

</div>

- Justin C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) [2009-03-18 23:53:57 +0900]:

> > 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 🙂

Thanks,  
Jan

---

<div class="post-metadata">

**Author:** ![loader](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/5daacb/32.png) [@loader](https://www.ruby-forum.com/u/loader)\
**Post date:** [March 18, 2009, 3:27pm UTC](https://www.ruby-forum.com/t/convert-from-datetime-to-time/163178/6 "2009-03-18T15:27:42Z")

</div>

- Rick DeNatale [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) [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™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
