[erlang-questions] add a time interval to a timestamp

Attila Rajmund Nohl <>
Tue Mar 15 15:32:05 CET 2011


Hello!

Unfortunately the calendar:* functions crash on wrong input:

1> calendar:datetime_to_gregorian_seconds({{2011,2,30},{1,2,3}}).
** exception error: no true branch found when evaluating an if expression
     in function  calendar:date_to_gregorian_days/3
     in call from calendar:datetime_to_gregorian_seconds/1

So if the input cannot be trusted, there's still some validation to be done.

2011/3/15, Harsh J <>:
> Hello,
>
> How about handling this with seconds since year 0?
> calendary:datetime_to_gregorian_seconds to get seconds, adding up this
> integer in seconds as you need and converting back to datetime with
> calendary:gregorian_seconds_to_datetime.
>
> On Tue, Mar 15, 2011 at 4:24 PM, Loris Fichera <>
> wrote:
>> Hello everybody,
>>
>> Say I want to write a function that takes as input a timestamp (in the
>> form {{y,m,d}, {h,m,s}} ) and returns another timestamp, obtained by
>> adding a certain amount of {hours, minutes, seconds} to the input.
>
> --
> Harsh J
> http://harshj.com
>
> ________________________________________________________________
> erlang-questions (at) erlang.org mailing list.
> See http://www.erlang.org/faq.html
> To unsubscribe; mailto:
>
>


More information about the erlang-questions mailing list