> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bloombot.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Durations and time zones

> The time format Bloom accepts for timeouts, bans, reminders, and slowmode, the limit each feature applies, and how to set your time zone.

Anywhere Bloom asks how long something should last, it accepts the same format: a number followed by a unit, such as `10m` or `1h30m`.

## The duration format

| Unit | Means   | Example |
| ---- | ------- | ------- |
| `s`  | seconds | `45s`   |
| `m`  | minutes | `10m`   |
| `h`  | hours   | `6h`    |
| `d`  | days    | `7d`    |
| `w`  | weeks   | `2w`    |

Combine units to be more precise, largest first by convention: `1h30m` is ninety minutes, `1w2d` is nine days. Capitals work the same as lowercase.

Write the whole duration as one word with no spaces. Commands read the duration as a single argument, so in `!remind 1h 30m Take a break` only `1h` counts as the duration and the rest becomes the reminder text.

| You type | Bloom reads       |
| -------- | ----------------- |
| `30m`    | 30 minutes        |
| `1h30m`  | 1 hour 30 minutes |
| `2d12h`  | 2 days 12 hours   |
| `1w`     | 7 days            |

Numbers must be whole. There is no decimal form, so write `30m` rather than `0.5h`, and `90s` rather than `1.5m`.

<Warning>
  Bloom picks the units out of what you type and ignores the rest instead of rejecting it. `0.5h` is read as **5 hours**, because it finds `5h` inside your text. Check the confirmation message Bloom replies with before assuming a duration was understood.
</Warning>

A duration with no unit, such as `30`, is not valid and the command tells you so. Plain language like `1 hour` or `tomorrow` is not accepted either.

## Limits

No duration can exceed **one year**. Longer values are rejected as invalid rather than trimmed to the maximum.

Individual features apply their own limits on top of that:

| Where                  | Shortest   | Longest                         |
| ---------------------- | ---------- | ------------------------------- |
| Timeout                | No minimum | 28 days, a limit set by Discord |
| Slowmode               | No minimum | 6 hours, a limit set by Discord |
| Reminder               | 1 minute   | 1 year                          |
| Repeating reminder     | 5 minutes  | 1 year                          |
| Welcome self-destruct  | 5 seconds  | 1 hour                          |
| Wait step in an action | No minimum | 30 seconds                      |

When you go over a limit, Bloom says so and nothing is applied.

## Time zones

Times in Bloom's replies are usually posted as Discord timestamps, which every member sees in their own local time, so most features need no configuration.

Setting a time zone tells Bloom where you are for the features that need to know, such as showing your local time and timing birthday announcements.

<ParamField path="timezone [set <place>|@user]" type="Prefix command">
  Views or sets a personal time zone. It follows your account across every server. Alias: `tz`.

  * `!timezone` shows your current local time, or tells you that no time zone is set.
  * `!timezone set Berlin` saves your zone. Give a city, a region, or a standard name such as `America/New_York` or `EST`, and Bloom works out the matching zone. Bloom replies `Timezone set.` with your current time.
  * `!timezone @member` shows another member's local time, if they have set one.
</ParamField>

<Tip>
  If Bloom saves the wrong zone for a place name, set it again with the exact `Region/City` form, for example `!timezone set Europe/Berlin`.
</Tip>

## Related pages

<CardGroup cols={2}>
  <Card title="Using prefix commands" icon="terminal" href="/getting-started/commands">
    How to read a command's syntax and pass arguments like durations.
  </Card>

  <Card title="Welcome messages" icon="door-open" href="/configuration/welcome">
    Uses a duration for the self-destruct timer.
  </Card>
</CardGroup>
