# How to convert user input hours, minutes, seconds - both ways

**URL:** <https://www.ruby-forum.com/t/how-to-convert-user-input-hours-minutes-seconds-both-ways/175518>\
**Category:** Rails\
**Created:** [September 15, 2009, 5:17am UTC](https://www.ruby-forum.com/t/how-to-convert-user-input-hours-minutes-seconds-both-ways/175518 "2009-09-15T05:17:53Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![metanoize](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/9fc29f/32.png) [@metanoize](https://www.ruby-forum.com/u/metanoize)\
**Post date:** [September 15, 2009, 5:17am UTC](https://www.ruby-forum.com/t/how-to-convert-user-input-hours-minutes-seconds-both-ways/175518/1 "2009-09-15T05:17:53Z")

</div>

In my model I have an attribute “duration” (seconds as an integer) But  
the views new/edit have input for: hours, minutes, seconds.

Should I have in model (attr\_accessor :hours, :minutes, :seconds) then  
how do I convert these virtual attributes into my “duration”  
attribute, Coming from Java I’d have setter/getter on “duration”!

---

<div class="post-metadata">

**Author:** ![metanoize](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/9fc29f/32.png) [@metanoize](https://www.ruby-forum.com/u/metanoize)\
**Post date:** [September 15, 2009, 5:59am UTC](https://www.ruby-forum.com/t/how-to-convert-user-input-hours-minutes-seconds-both-ways/175518/2 "2009-09-15T05:59:37Z")

</div>

Mohammad A. wrote:

> In my model I have an attribute “duration” (seconds as an integer) But  
> the views new/edit have input for: hours, minutes, seconds.
> 
> Should I have in model (attr\_accessor :hours, :minutes, :seconds) then  
> how do I convert these virtual attributes into my “duration”  
> attribute, Coming from Java I’d have setter/getter on “duration”!

You can certainly do that in Ruby too. Also check out composed\_of. The  
Runt gem might be helpful for dealing with time expressions.

## Best,

Marnen Laibow-Koser  
[http://www.marnen.org](http://www.marnen.org)  
removed\_email\_address@domain.invalid
