-
-
Notifications
You must be signed in to change notification settings - Fork 546
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
[6.x] Store dates as UTC #11409
Draft
duncanmcclean
wants to merge
15
commits into
master
Choose a base branch
from
utc-dates
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
[6.x] Store dates as UTC #11409
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
In that case, we have nothing to do here.
🎉 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request ensures that dates in Statamic are always stored as UTC, then transformed to the relevant timezone when they're displayed.
A more detailed PR description is to follow.
Storage
We aren't changing the
format
dates are saved in, just the timezone. This means dates and times will continue to be saved like this:However, instead of
10:00
being saved (for an app in New York), it'd save as15:00
, the UTC time. This might end up being a little confusing, but we'll try to make it clear in the documentation.Update Process
During the update process, an update script will run to convert all dates to UTC.
It'll attempt to find all date fields (including those in Grids, Bards, Replicators, etc) and update them as needed.
The update script will look through entries/terms/globals/users. If you need to convert dates elsewhere (like in a custom addon), you'll need to create your own update script.
Once the update script is complete, you can change your application's timezone back to UTC, as strongly recommended by the Laravel documentation.
Control Panel
In the Control Panel, dates are always returned & sent to the server in UTC. We'll then display them using the user's local timezone.
Frontend
We've added a new
display_timezone
configuration option which'll determine the timezone used when displaying dates on the frontend.REST API & GraphQL API
Dates in the REST API & GraphQL API will always be returned as UTC. This allows developers to transform them as needed on their end.
Related: #11388.
Closes statamic/ideas#842.