oh-my-posh/website/docs/segments/time.mdx
2024-04-17 13:24:18 +02:00

97 lines
2.8 KiB
Plaintext

---
id: time
title: Time
sidebar_label: Time
---
## What
Show the current timestamp.
## Sample Configuration
import Config from '@site/src/components/Config.js';
<Config data={{
"type": "time",
"style": "plain",
"foreground": "#007ACC",
"properties": {
"time_format": "15:04:05"
}
}}/>
## Properties
| Name | Type | Default | Description |
| ------------- | :------: | :--------: | ---------------------------------------------------- |
| `time_format` | `string` | `15:04:05` | format to use, follows the [golang standard][format] |
## Template ([info][templates])
:::note default template
```template
{{ .CurrentDate | date .Format }}
```
:::
### Properties
| Name | Type | Description |
| -------------- | -------- | --------------------------------------- |
| `.Format` | `string` | The time format (set via `time_format`) |
| `.CurrentDate` | `time` | The time to display (testing purpose) |
## Syntax
- January 2, 2006 **Date**
- 01/02/06
- Jan-02-06
- 15:04:05 **Time**
- 3:04:05 PM
- Jan 2 15:04:05 **Timestamp**
- Jan 2 15:04:05.000000 **with microseconds**
- 2006-01-02T15:04:05-0700 **ISO 8601 (RFC 3339)**
- 2006-01-02
- 15:04:05
- 02 Jan 06 15:04 MST **RFC 822**
- 02 Jan 06 15:04 -0700 **with numeric zone**
- Mon, 02 Jan 2006 15:04:05 MST 27e95cb
- Mon, 02 Jan 2006 15:04:05 -0700 **with numeric zone**
### Formats
The following predefined date and timestamp format constants are also available:
| Name | Output |
| ------------- | ----------------------------------- |
| `ANSIC` | Mon Jan 2 15:04:05 2006 |
| `UnixDate` | Mon Jan 2 15:04:05 MST 2006 |
| `RubyDate` | Mon Jan 02 15:04:05 -0700 2006 |
| `RFC822` | 02 Jan 06 15:04 MST |
| `RFC822Z` | 02 Jan 06 15:04 -0700 |
| `RFC850` | Monday, 02-Jan-06 15:04:05 MST |
| `RFC1123` | Mon, 02 Jan 2006 15:04:05 MST |
| `RFC1123Z` | Mon, 02 Jan 2006 15:04:05 -0700 |
| `RFC3339` | 2006-01-02T15:04:05Z07:00 |
| `RFC3339Nano` | 2006-01-02T15:04:05.999999999Z07:00 |
| `Kitchen` | 3:04PM |
| `Stamp` | Jan 2 15:04:05 |
| `StampMilli` | Jan 2 15:04:05.000 |
| `StampMicro` | Jan 2 15:04:05.000000 |
| `StampNano` | Jan 2 15:04:05.000000000 |
## Examples
To display the time in multiple time zones, using [Sprig's Date Functions][sprig-date]:
```text
{{ .CurrentDate | date .Format }} {{ dateInZone "15:04Z" .CurrentDate "UTC" }}
```
[templates]: /docs/configuration/templates
[format]: https://yourbasic.org/golang/format-parse-string-time-date-example/
[sprig-date]: https://masterminds.github.io/sprig/date.html