Skip to content


Subversion checkout URL

You can clone with
Download ZIP


Review midnight based methods #106

RogerRiggs opened this Issue · 2 comments

2 participants


There are a number of method that have limited usefulness, ambiguous semantics and should be removed. The atMidnight and ofMidnight methods can be confusing because they indicate a time of 00:00 but at least in the US, midnight is at the end of the day. 24:00.
Developers are unlike to expect or go look for those methods and more naturally look to replace the time with 0,0. The LocalTime.MIDNIGHT constant is similarly ambiguous.
The startOfDayInZone method is also unnecessary since all the days start at 00:00.
There are plenty of methods that take hh, mm arguments that developers would be expected to find and use before these specialized methods.

(Edited title for clarity)


The methods are clearly defined, and LocalTime.MIDNIGHT is an obvious constant that should not be removed.

startOfDayInZone has very useful semantics, as some time-zones skip 00:00 to 01:00 in a DST change, so setting to 00:00 will be an error.


Agreed ZDT.of(...) should accept date-times in middle of DST gap and adjust to avoid unecessary exceptions.

Agreed to remove all other midnight methods due to potential midnight end of day confusion. LocalTime constant to be retained.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.