Updating docs, add a few new features to utc.
This commit is contained in:
parent
a0e48cd55b
commit
57e31bfcf4
|
@ -1,18 +1,35 @@
|
||||||
utc: convert times to UTC
|
utc: convert times to UTC
|
||||||
|
|
||||||
|
Usage: utc [-f format] [-u] [-h] [-z zone] [time(s)...]
|
||||||
|
|
||||||
utc converts times to UTC. If no arguments are provided, prints the
|
utc converts times to UTC. If no arguments are provided, prints the
|
||||||
current time in UTC. If the only time provided is "-", reads
|
current time in UTC.
|
||||||
newline-separated timestamps from standard input.
|
|
||||||
|
|
||||||
Flags:
|
Flags:
|
||||||
|
|
||||||
-f format Go timezone format. See the Go documentation
|
-f format Go timestamp format for input times. See the Go docs
|
||||||
(e.g. https://golang.org/pkg/time/#pkg-constants)
|
(e.g. https://golang.org/pkg/time/#pkg-constants)
|
||||||
for an explanation of this format.
|
for an explanation of this format.
|
||||||
|
|
||||||
|
Default value: 2006-01-02 15:04
|
||||||
|
|
||||||
|
-h Print a help message.
|
||||||
|
|
||||||
|
-o format Go timestamp format for outputting times. Uses the
|
||||||
|
same format as the '-f' argument; it defaults to
|
||||||
|
the same value as the '-f' argument.
|
||||||
|
|
||||||
|
-u Timestamps are in UTC format and should be converted
|
||||||
|
to the timezone specified by the -z argument (which
|
||||||
|
defaults to 'Local'). Note that this isn't particularly
|
||||||
|
useful with no arguments.
|
||||||
|
|
||||||
-z zone Text form of the time zone; this can be in short
|
-z zone Text form of the time zone; this can be in short
|
||||||
time zone abbreviation (e.g. MST) or a location
|
time zone abbreviation (e.g. MST) or a location
|
||||||
(e.g. America/Los_Angeles). This has no effect
|
(e.g. America/Los_Angeles). This has no effect when
|
||||||
when printing the current time.
|
printing the current time.
|
||||||
|
|
||||||
|
Default value: Local
|
||||||
|
|
||||||
Examples (note that the examples are done in the America/Los_Angeles /
|
Examples (note that the examples are done in the America/Los_Angeles /
|
||||||
PST8PDT time zone):
|
PST8PDT time zone):
|
||||||
|
@ -41,8 +58,9 @@ PST8PDT time zone):
|
||||||
PST8PDT):
|
PST8PDT):
|
||||||
$ utc -u -z EST '2016-06-14 21:30'
|
$ utc -u -z EST '2016-06-14 21:30'
|
||||||
2016-06-14 21:30 = 2016-06-14 16:30
|
2016-06-14 21:30 = 2016-06-14 16:30
|
||||||
|
+ Using a different output format:
|
||||||
|
$ utc -o '2006-01-02T15:03:04MST' '2016-06-14 21:30'
|
||||||
|
2016-06-14 21:30 = 2016-06-15T04:04:30UTC
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,7 @@ import (
|
||||||
|
|
||||||
var (
|
var (
|
||||||
format = "2006-01-02 15:04" // Format that will be used for times.
|
format = "2006-01-02 15:04" // Format that will be used for times.
|
||||||
|
outFormat = format // Output format.
|
||||||
tz = "Local" // String descriptor for timezone.
|
tz = "Local" // String descriptor for timezone.
|
||||||
fromLoc *time.Location // Go time.Location for the named timezone.
|
fromLoc *time.Location // Go time.Location for the named timezone.
|
||||||
toLoc *time.Location // Go time.Location for output timezone.
|
toLoc *time.Location // Go time.Location for output timezone.
|
||||||
|
@ -20,11 +21,12 @@ func usage(w io.Writer) {
|
||||||
fmt.Fprintf(w, `Usage: utc [-f format] [-u] [-h] [-z zone] [time(s)...]
|
fmt.Fprintf(w, `Usage: utc [-f format] [-u] [-h] [-z zone] [time(s)...]
|
||||||
|
|
||||||
utc converts times to UTC. If no arguments are provided, prints the
|
utc converts times to UTC. If no arguments are provided, prints the
|
||||||
current time in UTC.
|
current time in UTC. If the only time provided is "-", reads newline-
|
||||||
|
separated timestamps from standard input.
|
||||||
|
|
||||||
Flags:
|
Flags:
|
||||||
|
|
||||||
-f format Go timezone format. See the Go documentation
|
-f format Go timestamp format for input times. See the Go docs
|
||||||
(e.g. https://golang.org/pkg/time/#pkg-constants)
|
(e.g. https://golang.org/pkg/time/#pkg-constants)
|
||||||
for an explanation of this format.
|
for an explanation of this format.
|
||||||
|
|
||||||
|
@ -32,6 +34,10 @@ Flags:
|
||||||
|
|
||||||
-h Print this help message.
|
-h Print this help message.
|
||||||
|
|
||||||
|
-o format Go timestamp format for outputting times. Uses the
|
||||||
|
same format as the '-f' argument; it defaults to
|
||||||
|
the same value as the '-f' argument.
|
||||||
|
|
||||||
-u Timestamps are in UTC format and should be converted
|
-u Timestamps are in UTC format and should be converted
|
||||||
to the timezone specified by the -z argument (which
|
to the timezone specified by the -z argument (which
|
||||||
defaults to '%s'). Note that this isn't particularly
|
defaults to '%s'). Note that this isn't particularly
|
||||||
|
@ -71,7 +77,9 @@ PST8PDT time zone):
|
||||||
PST8PDT):
|
PST8PDT):
|
||||||
$ utc -u -z EST '2016-06-14 21:30'
|
$ utc -u -z EST '2016-06-14 21:30'
|
||||||
2016-06-14 21:30 = 2016-06-14 16:30
|
2016-06-14 21:30 = 2016-06-14 16:30
|
||||||
|
+ Using a different output format:
|
||||||
|
$ utc -o '2006-01-02T15:03:04MST' '2016-06-14 21:30'
|
||||||
|
2016-06-14 21:30 = 2016-06-15T04:04:30UTC
|
||||||
`, format, tz, tz)
|
`, format, tz, tz)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -82,6 +90,7 @@ func init() {
|
||||||
flag.Usage = func() { usage(os.Stderr) }
|
flag.Usage = func() { usage(os.Stderr) }
|
||||||
flag.StringVar(&format, "f", format, "time format")
|
flag.StringVar(&format, "f", format, "time format")
|
||||||
flag.BoolVar(&help, "h", false, "print usage information")
|
flag.BoolVar(&help, "h", false, "print usage information")
|
||||||
|
flag.StringVar(&outFormat, "o", outFormat, "output time format")
|
||||||
flag.BoolVar(&utc, "u", false, "timestamps are in UTC format")
|
flag.BoolVar(&utc, "u", false, "timestamps are in UTC format")
|
||||||
flag.StringVar(&tz, "z", tz, "time zone to convert from; if blank, the local timezone is used")
|
flag.StringVar(&tz, "z", tz, "time zone to convert from; if blank, the local timezone is used")
|
||||||
|
|
||||||
|
@ -114,7 +123,7 @@ func init() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func showTime(t time.Time) {
|
func showTime(t time.Time) {
|
||||||
fmt.Printf("%s = %s\n", t.Format(format), t.In(toLoc).Format(format))
|
fmt.Printf("%s = %s\n", t.Format(format), t.In(toLoc).Format(outFormat))
|
||||||
}
|
}
|
||||||
|
|
||||||
func dumpTimes(times []string) bool {
|
func dumpTimes(times []string) bool {
|
||||||
|
|
Loading…
Reference in New Issue