[erlang-questions] How do I compute daytime difference properly?

Greg Burri <>
Mon May 5 20:07:20 CEST 2008


Hi,
Maybe like this :

delta_date_ms(D1, D2) ->
   1000000000 * abs(element(1, D1) - element(1, D2)) + 1000 *
abs(element(2, D1) - element(2, D2)) + trunc(abs(element(3, D1) -
element(3, D2)) / 1000).


/Greg

On Sat, May 3, 2008 at 9:10 PM, Igor Ribeiro Sucupira <> wrote:
> I think there's no easier way of doing that.
>
>  2008/5/3 Kirill Zaborski <>:
>
>
> >
>  > Reading calendar module documentation I see the note:
>  > "For computing differences between epochs in time, use the functions
>  > counting gregorian days or seconds. If epochs are given as local time, they
>  > must be converted to universal time, in order to get the correct value of
>  > the elapsed time between epochs. Use of the function time_difference/2 is
>  > discouraged."
>  > But it's not quite clear to me...
>  > E.g. I have 2 values LocalTime1 and LocalTime2 which are somewhat like
>  > tuples erlang:localtime/0 and need to compute time difference e.g. in
>  > seconds. So should I then convert this values to UTC and then use
>  > calendar:datetime_to_gregorian_seconds/1 and then do the subtraction?
>  >  Or maybe there is some easier way?
>  >
>  > Best regards,
>  > Kirill.
>  _______________________________________________
>  erlang-questions mailing list
>  
>  http://www.erlang.org/mailman/listinfo/erlang-questions
>



More information about the erlang-questions mailing list