Converting Day to Int

I read through the docs on the Dates Module, but I can’t figure out how to convert a Day to an Int. I have an array of {Day,1}, and want to perform mean and std and so on. Also, for Plotting they seem to be treated more as a categorical variable than continuous one.

I think you’re looking for Dates.value:

help?> Dates.value
Dates.value(x::Period) -> Int64

For a given period, return the value associated with that period. For example, value(Millisecond(10)) returns 10 as an integer.

For example:

julia> using Dates

julia> d = Day(42)
42 days

julia> Dates.value(d)
42
4 Likes

That’s the ticket!! Thanks.

https://docs.julialang.org/en/v1/stdlib/Dates/#Dates.value

what about an Array? For example:

julia> n_day
4-element Array{Day,1}:
19 days
25 days
19 days
25 days

julia> Dates.values(n_day)
4-element Array{Day,1}:
19 days
25 days
19 days
25 days

You can use broadcasting notation to efficiently map a function to all elements of a vector:

julia> using Dates

julia> n_day = Day.(rand(1:31, 5))
5-element Array{Day,1}:
 19 days
 23 days
 27 days
 19 days
 15 days

julia> Dates.value.(n_day)
5-element Array{Int64,1}:
 19
 23
 27
 19
 15
2 Likes

thanks!

broadcasting notation . follows the function Dates.value

got it