→
- %a
- The abbreviated weekday name ("Sun")
- %A
- The full weekday name ("Sunday")
- %b
- The abbreviated month name ("Jan")
- %B
- The full month name ("January")
- %d
- Day of the month (01..31)
- %e
- Day of the month with a leading blank instead of zero ( 1..31)
- %m
- Month of the year (01..12)
- %y
- Year without a century (00..99)
- %Y
- Year with century
- %H
- Hour of the day, 24-hour clock (00..23)
- %I
- Hour of the day, 12-hour clock (01..12)
- %l
- Hour of the day, 12-hour clock without a leading zero (1..12)
- %M
- Minute of the hour (00..59)
- %P
- Meridian indicator ("am" or "pm")
- %p
- Meridian indicator ("AM" or "PM")
- %S
- Second of the minute (00..60)
- %z
- Time zone hour and minute offset from UTC
- %Z
- Time zone name
- %%
- Literal "%" character
Codes not natively supported in Go
- %j
- Day of the year (001..366)
use YearDay() instead - %U
- Week number of the current year, starting with the first Sunday as the first day of the first week (00..53)
- %W
- Week number of the current year, starting with the first Monday as the first day of the first week (00..53)
use ISOWeek() instead - %w
- Day of the week (Sunday is 0, 0..6)
use Weekday() instead
- %X
- Preferred representation for the time alone, no date
- %x
- Preferred representation for the date alone, no time
- %c
- The preferred local date and time representation
But... why?
Having used strftime
in many other languages (shell, ruby, python, c),
Go's date formatting can be frustratingly different — frustrating mostly because
we're too lazy to learn a new date format. This site was built to allow the
laziness to continue.
If you really need strftime
functionality, there are a few
open source alternatives.
(Courtesy of Andrew Gerrand).