The calendar marks the wrong day as “today”. Shift times look right in the admin, but reminder emails arrive at odd hours — or everything seems off by the same few hours. All of it comes from one setting: your site’s WordPress timezone, which on a new site is still the default, UTC. VolunteerPress shows a notice in the admin while that is the case.
The fix: set your timezone
- Go to Settings → General.
- Under Timezone, choose the city nearest you — “Chicago”, “Berlin” — rather than a “UTC−6”-style offset. City timezones follow daylight saving time on their own; fixed offsets do not.
- Select Save Changes.
Your shift times do not move: a shift entered as 9:00 AM is still 9:00 AM — it just now means 9:00 AM where you actually are. The calendar’s “today” and the moment each shift reminder goes out both follow this one setting, so fixing it fixes both.
What is happening behind the scenes
Every time in VolunteerPress — shift starts and ends, signup timestamps, reminder timing — is a wall-clock time in the site’s timezone. There is no per-visitor conversion: a shift happens at a physical place, and its time is that place’s local time, so volunteers see the same 9:00 AM on the opportunity page, the calendar, and in every email.
Changing the timezone setting rewrites nothing — existing shifts keep the times you typed, and changing it back restores exactly the previous behavior. What changes is which moment those times refer to, which is precisely what correcting a wrong setting should do. One caveat: anything keyed to the clock moves too, so a reminder that was three hours away can become two or four hours away the instant you save. After a correction of several hours, glance over your imminent shifts. And the city-versus-offset advice is not cosmetic: a fixed offset ignores daylight saving time, so a recurring 9:00 AM shift would drift an hour against local time when the clocks change.