(perl6) DateTime::Format::LikeGo - format dates using Go's reference format
Switch branches/tags
Nothing to show
Clone or download
avuserow Update README.md
Fix a URL, while keeping the profanity somewhat masked.
Latest commit 363e029 Apr 3, 2018



DateTime::Format::LikeGo - format dates using Go's reference format


use DateTime::Format::LikeGo;

# Format a date
say go-date-format("2006-01-02", DateTime.now);

# convert to strftime format:
say DateTime::Format::LikeGo::go-to-strftime("2006-01-02"); # %Y-%m-%d


A simple module that converts from Golang's "reference time" format to strftime. The intention is for you to specify how a certain datetime would be formatted, and it then can format any date in that style.

The reference date is 2006-01-02T15:04:05-0700, which is written as a series of ascending digits, if rearranged, and 3pm is used instead of 15.

Inspired by complaints about the Go time format.


go-date-format(Str $format, DateTime $date) is export returns Str

Format the given time according to the provided format string.

go-to-strftime(Str $format) returns Str

Return the strftime version of the go format.


A string exception is thrown if the converted strftime format has any digits left over, which typically indicate a bad input format.


  • Timezone support is missing in DateTime::Format, so strings using timezones will fail until it is added.
  • Not well tested overall.


  • Rakudo Perl 6 2014.11 or above. Tested primarily on MoarVM.
  • DateTime::Format


f***inggodateformat.com - inspiration for this module

Documentation for Go's time package