Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add timestampFlag docs #997

Merged
merged 14 commits into from
Jan 30, 2020
44 changes: 44 additions & 0 deletions docs/v2/manual.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ cli v2 manual
+ [Customization](#customization-1)
* [Version Flag](#version-flag)
+ [Customization](#customization-2)
* [Timestamp Flag](#timestamp-flag)
* [Full API Example](#full-api-example)

<!-- tocstop -->
Expand Down Expand Up @@ -1273,6 +1274,49 @@ func main() {
}
```

### Timestamp Flag

Using the timestamp flag is simple, You can look at time.Parse to get layout examples : https://golang.org/pkg/time/#example_Parse
asahasrabuddhe marked this conversation as resolved.
Show resolved Hide resolved

<!-- {
"args": ["&#45;&#45;meeting", "2019-08-12T15:04:05"],
"output": "2019\\-08\\-12 15\\:04\\:05 \\+0000 UTC"
} -->
``` go
package main

import (
"fmt"
"log"
"os"

"github.com/urfave/cli/v2"
)

func main() {
app := &cli.App{
Flags: []cli.Flag {
&cli.TimestampFlag{Name: "meeting", Layout: "2006-01-02T15:04:05"},
},
Action: func(c *cli.Context) error {
fmt.Printf("%s", c.Timestamp("meeting").String())
return nil
},
}

err := app.Run(os.Args)
if err != nil {
log.Fatal(err)
}
}
```

In this example the flag could be used like so :
asahasrabuddhe marked this conversation as resolved.
Show resolved Hide resolved

`myapp --meeting 2019-08-12T15:04:05`

side note : quotes may be necessary around the date depending on your layout (if you have spaces for instance)
asahasrabuddhe marked this conversation as resolved.
Show resolved Hide resolved

### Full API Example

**Notice**: This is a contrived (functioning) example meant strictly for API
Expand Down