[erlang-questions] How do I compute daytime difference properly?
Igor Ribeiro Sucupira
Mon May 5 20:56:33 CEST 2008
I suppose the problems with time_difference are related to daylight
savings and such. If I'm right, there's no point in reimplementing the
algorithm if you don't address those problems.
On Mon, May 5, 2008 at 3:07 PM, Greg Burri <> wrote:
> 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).
> 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