p1: /v2/scrape, /v1/fetch, auth, CLI, contract tests
Single Fetcher.Fetch on the Guard that holds DenyPrefixes. skipTlsVerification is ignored. No 502. keys add writes the secret only to --out. Release binary has no -test-allow-prefix.
This commit is contained in:
+69
@@ -0,0 +1,69 @@
|
||||
# timefmt-go
|
||||
[](https://github.com/itchyny/timefmt-go/actions?query=branch:main)
|
||||
[](https://goreportcard.com/report/github.com/itchyny/timefmt-go)
|
||||
[](https://github.com/itchyny/timefmt-go/blob/main/LICENSE)
|
||||
[](https://github.com/itchyny/timefmt-go/releases)
|
||||
[](https://pkg.go.dev/github.com/itchyny/timefmt-go)
|
||||
|
||||
### Efficient time formatting library (strftime, strptime) for Golang
|
||||
This is a Go language package for formatting and parsing date time strings.
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
|
||||
"github.com/itchyny/timefmt-go"
|
||||
)
|
||||
|
||||
func main() {
|
||||
t, err := timefmt.Parse("2020/07/24 09:07:29", "%Y/%m/%d %H:%M:%S")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
fmt.Println(t) // 2020-07-24 09:07:29 +0000 UTC
|
||||
|
||||
str := timefmt.Format(t, "%Y/%m/%d %H:%M:%S")
|
||||
fmt.Println(str) // 2020/07/24 09:07:29
|
||||
|
||||
str = timefmt.Format(t, "%a, %d %b %Y %T %z")
|
||||
fmt.Println(str) // Fri, 24 Jul 2020 09:07:29 +0000
|
||||
}
|
||||
```
|
||||
|
||||
Please refer to [`man 3 strftime`](https://linux.die.net/man/3/strftime) and
|
||||
[`man 3 strptime`](https://linux.die.net/man/3/strptime) for formatters.
|
||||
As an extension, `%f` directive is supported for zero-padded microseconds, which originates from Python.
|
||||
Note that `E` and `O` modifier characters are not supported.
|
||||
|
||||
## Comparison to other libraries
|
||||
- This library
|
||||
- provides both formatting and parsing functions in pure Go language,
|
||||
- depends only on the Go standard libraries not to grow up dependency.
|
||||
- `Format` (`strftime`) implements glibc extensions including
|
||||
- width specifier like `%6Y %10B %4Z` (limited to 1024 bytes),
|
||||
- omitting padding modifier like `%-y-%-m-%-d`,
|
||||
- space padding modifier like `%_y-%_m-%_d`,
|
||||
- upper case modifier like `%^a %^b`,
|
||||
- swapping case modifier like `%#Z`,
|
||||
- time zone offset modifier like `%:z %::z %:::z`,
|
||||
- and its performance is very good.
|
||||
- `AppendFormat` is provided for reducing allocations.
|
||||
- `Parse` (`strptime`) allows to parse
|
||||
- composed directives like `%F %T`,
|
||||
- century years like `%C %y`,
|
||||
- week directives like `%W %a` and `%G-W%V-%u`.
|
||||
- `ParseInLocation` is provided for configuring the default location.
|
||||
|
||||

|
||||
|
||||
## Bug Tracker
|
||||
Report bug at [Issues・itchyny/timefmt-go - GitHub](https://github.com/itchyny/timefmt-go/issues).
|
||||
|
||||
## Author
|
||||
itchyny (<https://github.com/itchyny>)
|
||||
|
||||
## License
|
||||
This software is released under the MIT License, see LICENSE.
|
||||
Reference in New Issue
Block a user