From 1497f7479fd3914aeea162537cb0885e58a92ce3 Mon Sep 17 00:00:00 2001 From: Alexis Tabary Date: Fri, 3 Oct 2014 16:28:27 +0900 Subject: [PATCH] Bugfix in Date.diff(_, _, :timestamp) --- lib/date/date.ex | 3 ++- test/date_test.exs | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/date/date.ex b/lib/date/date.ex index 753b0dec..2cf32c03 100644 --- a/lib/date/date.ex +++ b/lib/date/date.ex @@ -18,6 +18,7 @@ defmodule Timex.Date do """ require Record alias Timex.DateTime, as: DateTime + alias Timex.Time, as: Time alias Timex.Timezone, as: Timezone alias Timex.TimezoneInfo, as: TimezoneInfo @@ -887,7 +888,7 @@ defmodule Timex.Date do @spec diff(DateTime.t, DateTime.t, :secs | :days | :weeks | :months | :years) :: integer def diff(this, other, :timestamp) do - diff(this, other, :secs) |> Time.from_sec + diff(this, other, :secs) |> Time.from(:secs) end def diff(this, other, :secs) do to_secs(other, :zero) - to_secs(this, :zero) diff --git a/test/date_test.exs b/test/date_test.exs index d1d61452..0407a110 100644 --- a/test/date_test.exs +++ b/test/date_test.exs @@ -295,6 +295,8 @@ defmodule DateTests do assert D.diff(date1, date2, :months) === -D.diff(date2, date1, :months) assert D.diff(date1, date2, :years) === -D.diff(date2, date1, :years) + assert D.diff(date1, date2, :timestamp) === {0, 63, 158400} + assert D.diff(epoch, date1, :days) === 365 assert D.diff(epoch, date1, :secs) === 365 * 24 * 3600 assert D.diff(epoch, date1, :years) === 1