Discord shows every timestamp in each member's own local time, but a server still needs one shared clock for questions like "which day did this message land on" and "post the announcement at 9 in the morning". That is the Server Timezone.
Where to set it
Open the dashboard, pick the server, then Bot. The Server Timezone card offers a searchable list of IANA zone names such as America/Chicago or Europe/Berlin, each labelled with its current offset. It is available on the shared bot and on custom bots.
Until you pick one, the server runs on UTC.
Who follows it
| Service | What uses the timezone |
|---|---|
| Analytics | Which calendar day a message, join or voice minute is counted under, and the day boundaries of every chart and leaderboard window. |
| Announcements | The zone a new announcement's schedule form starts with. Each announcement keeps the zone it was saved with. |
| Events | Event start times typed without an offset, recurrence, and reminder timing. Daylight-saving changes are handled per zone, so a weekly 8 pm event stays at 8 pm. |
| Giveaways | Giveaways scheduled by date and time. |
| Tickets | Business hours, first-response targets and daily ticket statistics. |
Analytics, Events and Giveaways also have their own timezone setting on their dashboard pages. When that is filled in it wins for that service, so an existing configuration keeps working. Leave it empty to follow the server timezone.
Changing it later
Changing the zone changes how future times are interpreted and how existing data is grouped by day. Nothing stored is rewritten: a message counted on Tuesday under UTC may show under Monday after switching to a zone west of it. Existing announcements keep the zone they were saved with; edit one to move it. Events read typed times in the Events timezone setting when it is filled in, otherwise in the server timezone.
In the docs
Whenever a command or setting on these pages says "at 09:00" or "per day", it means the server timezone unless the text says otherwise.