Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

imperfectgo/go-strftime

Open more actions menu

Repository files navigation

go-strftime

GoDoc Build Status Go Report Card Coverage

High performance C99-compatible strftime formatter for Go.

Caveats

EXPERIMENTAL Please test before use.

Compatibility

Specifier Description
%a abbreviated weekday name (Sun)
%A full weekday name (Sunday)
%b abbreviated month name (Sep)
%B full month name (September)
%c the same as time.ANSIC (%a %b %e %H:%M:%S %)
%C (year / 100) as number. Single digits are preceded by zero (20)
%d day of month as number. Single digits are preceded by zero (21)
%D equivalent to %m/%d/%y (09/21/14)
%e day of month as number. Single digits are preceded by a blank (21)
%f microsecond as a six digit decimal number, zero-padded on the left (001234)
%F equivalent to %Y-%m-%d (2014-09-21)
%g last two digits of ISO 8601 week-based year
%G ISO 8601 week-based year
%h same as %b
%H the hour (24 hour clock) as a number. Single digits are preceded by zero (15)
%I the hour (12 hour clock) as a number. Single digits are preceded by zero (03)
%j the day of the year as a decimal number. Single digits are preced by zeros (264)
%m the month as a decimal number. Single digits are preceded by a zero (09)
%M the minute as a decimal number. Single digits are preceded by a zero (32)
%n a newline (\n)
%p AM or PM as appropriate
%P am or pm as appropriate
%r equivalent to %I:%M:%S %p
%R equivalent to %H:%M
%S the second as a number. Single digits are preceded by a zero (05)
%t a tab (\t)
%T equivalent to %H:%M:%S
%u weekday as a decimal number, where Monday is 1
%U week of the year as a decimal number (Sunday is the first day of the week)
%V ISO 8601 week of the year
%w the weekday (Sunday as first day of the week) as a number. (0)
%W week of the year as a decimal number (Monday is the first day of the week)
%x equivalent to %m/%d/%Y
%X equivalent to %H:%M:%S
%y year without century as a number. Single digits are preceded by zero (14)
%Y the year with century as a number (2014)
%z the time zone offset from UTC (-0700)
%Z time zone name (UTC)

Performance

Comparision with the standard library time.(*Time).Format():

> go test -tags bench -bench Bench -cpu 4 -benchmem .

goos: darwin
goarch: amd64
pkg: github.com/imperfectgo/go-strftime
BenchmarkStdTimeFormat-4         3844191               315 ns/op              32 B/op          1 allocs/op
BenchmarkGoStrftime-4            4354848               274 ns/op               0 B/op          0 allocs/op
PASS
ok      github.com/imperfectgo/go-strftime      3.013s

Comparision with other libraries:

> go test -tags benchcomp -bench Bench -cpu 4 -benchmem .

goos: darwin
goarch: amd64
pkg: github.com/imperfectgo/go-strftime
BenchmarkImperfectGo-4                   2713639               445 ns/op              64 B/op          1 allocs/op
BenchmarkImperfectGoNoAlloc-4            3081366               389 ns/op               0 B/op          0 allocs/op
BenchmarkTebeka-4                         311500              3930 ns/op             256 B/op         19 allocs/op
BenchmarkJehiah-4                         712195              1709 ns/op             256 B/op         17 allocs/op
BenchmarkFastly-4                        1934066               615 ns/op              80 B/op          5 allocs/op
BenchmarkLestrrat-4                      1000000              1037 ns/op             240 B/op          3 allocs/op
BenchmarkLestrratCachedString-4          2415724               498 ns/op             128 B/op          2 allocs/op
PASS
ok      github.com/imperfectgo/go-strftime      10.332s

License

This project can be treated as a derived work of time package from golang standard library.

Licensed under the Modified (3-clause) BSD license.

About

High performance C99-compatible strftime formatter for Go.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
Morty Proxy This is a proxified and sanitized view of the page, visit original site.