[Backport] Remove the timezone from the date when retrieving the current month from a UTC timestamp. #16584
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.
Original Pull Request
#16492
Remove the timezone from the date when retrieving the current month from a UTC timestamp.
Description
When viewing "Ordered Products Report" on a monthly basis, the date range used does not always include the last day of the month. The reason for this is because the method used to retrieve the number of days in a month converts the startDate of 2018-05-01 00:00:00 Australia/Adelaide
into a UTC timestamp which changes the month. Therefore the timestamp needs to be retrieved from a datetime that is in UTC with the correct month specified.
The proposed solution in issue #15940 of using cal_days_in_month will not always work if PHP is compiled without calendar support.
Fixed Issues
Manual testing scenarios
Testing scenario provided in issue was used. Copied here for simplicity:
Preconditions
Steps to reproduce
Expected result
Orders that were created at 31.05.2018 are in the grid
Actual result
Orders that were created at 31.05.2018 are NOT in the grid