diff --git a/Project.toml b/Project.toml index 8404fd5..47b4198 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "UnixTimes" uuid = "ab1a18e7-b408-4913-896c-624bb82ed7f4" authors = ["Christian Rorvik "] -version = "1.7.0" +version = "1.7.1" [deps] Dates = "ade2ca70-3891-5945-98fb-dc099432e06a" diff --git a/src/UnixTimes.jl b/src/UnixTimes.jl index 9bfa05a..9356718 100644 --- a/src/UnixTimes.jl +++ b/src/UnixTimes.jl @@ -53,6 +53,7 @@ Dates.Date(x::UnixTime) = Date(DateTime(x)) Dates.Time(x::UnixTime) = Time(Nanosecond(Dates.value(x))) Base.convert(::Type{DateTime}, x::UnixTime) = DateTime(x) +Base.promote_rule(::Type{DateTime}, ::Type{UnixTime}) = UnixTime UnixTime(x::Dates.TimeType) = convert(UnixTime, x) diff --git a/test/runtests.jl b/test/runtests.jl index ef499a8..f5a5cd8 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -44,6 +44,10 @@ end @test convert(UnixTime, DateTime(2020, 1, 2, 3, 4, 5, 6)) == UnixTime(2020, 1, 2, 3, 4, 5, 6) end +@testset "promotion" begin + @test UnixTime("2025-01-01T10:00:00.000000000") == DateTime("2025-01-01T10:00:00") +end + @testset "io" begin x = UnixTime(2020, 1, 2, 3, 4, 5, 6, 7, 8) @test string(x) == "2020-01-02T03:04:05.006007008"