# Conversion and formatting of Dates.TimePeriod

**URL:** https://discourse.julialang.org/t/conversion-and-formatting-of-dates-timeperiod/15063
**Category:** General Usage
**Created:** [September 17, 2018, 12:27pm UTC](https://discourse.julialang.org/t/conversion-and-formatting-of-dates-timeperiod/15063 "2018-09-17T12:27:44Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![carstenbauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/carstenbauer/32/4981_2.png) [@carstenbauer](https://discourse.julialang.org/u/carstenbauer)
#### Post date: [September 17, 2018, 12:27pm UTC](https://discourse.julialang.org/t/conversion-and-formatting-of-dates-timeperiod/15063/1 "2018-09-17T12:27:44Z")

</div>

Let’s say I have a `TimePeriod` object `x = Minute(62)`.

What I’m looking for is basically

```julia
julia> Dates.format(x, "HH:MM") # not actually working!
01:02

```

However, this is currently **not** working.

**1) Why can’t I format x similar to a `DateTime`?**

```julia
julia> Dates.format(x, "HH:MM")
ERROR: MethodError: no method matching format(::Minute, ::String)
Closest candidates are:
  format(::TimeType, ::AbstractString; locale) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.0\Dates\src\io.jl:527
  format(::Any, ::Dates.DatePart{'Y'}, ::Any) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.0\Dates\src\io.jl:130
  format(::Any, ::Dates.DatePart{'m'}, ::Any) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.0\Dates\src\io.jl:130
  ...
Stacktrace:
 [1] top-level scope at none:0

```

**2) Why doesn’t `canonicalize` work on `TimePeriod` but only on `Dates.CompoundPeriod`?**

```julia
julia> c = canonicalize(x)
ERROR: MethodError: no method matching canonicalize(::Minute)
Closest candidates are:
  canonicalize(::Dates.CompoundPeriod) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.0\Dates\src\periods.jl:251
Stacktrace:
 [1] top-level scope at none:0

julia> c = canonicalize(Dates.CompoundPeriod(x))
1 hour, 2 minutes

```

**3) Now that we already have the compound representation, why can’t I format it similar to `DateTime`?**

```julia
julia> Dates.format(c, "HH:MM")
ERROR: MethodError: no method matching format(::Dates.CompoundPeriod, ::String)
Closest candidates are:
  format(::TimeType, ::AbstractString; locale) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.0\Dates\src\io.jl:527
  format(::Any, ::Dates.DatePart{'Y'}, ::Any) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.0\Dates\src\io.jl:130
  format(::Any, ::Dates.DatePart{'m'}, ::Any) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.0\Dates\src\io.jl:130
  ...
Stacktrace:
 [1] top-level scope at none:0

```

I feel we should add these options.

---

<div class="post-metadata">

### Author: ![quinnj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/quinnj/32/11_2.png) [@quinnj](https://discourse.julialang.org/u/quinnj)
#### Post date: [September 17, 2018, 4:20pm UTC](https://discourse.julialang.org/t/conversion-and-formatting-of-dates-timeperiod/15063/2 "2018-09-17T16:20:54Z")

</div>

Those all seem like reasonable requests/options to me; mind filing an issue or better yet, a PR?

---

<div class="post-metadata">

### Author: ![carstenbauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/carstenbauer/32/4981_2.png) [@carstenbauer](https://discourse.julialang.org/u/carstenbauer)
#### Post date: [September 17, 2018, 5:04pm UTC](https://discourse.julialang.org/t/conversion-and-formatting-of-dates-timeperiod/15063/3 "2018-09-17T17:04:20Z")

</div>

PR sounds good. Don’t know when I will find the time for this though. So if someone else is willing to give it a shot, go ahead.

---

<div class="post-metadata">

### Author: ![carstenbauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/carstenbauer/32/4981_2.png) [@carstenbauer](https://discourse.julialang.org/u/carstenbauer)
#### Post date: [September 18, 2018, 10:29am UTC](https://discourse.julialang.org/t/conversion-and-formatting-of-dates-timeperiod/15063/4 "2018-09-18T10:29:45Z")

</div>

[https://github.com/JuliaLang/julia/issues/29241](https://github.com/JuliaLang/julia/issues/29241)
