Defining 'полуночи
Слово «полночь» сложно определить.
Некоторые думают об этом как момент до начинается новый день. Попытка представить, что в программном обеспечении так сложно, как последний момент дня, всегда можно подразделить на меньшую часть секунды.
Предлагаю лучше подумать об этом, чтобы получить «первый момент дня».
Это поддерживает широко используемый подход, определяющий промежуток времени как «Полуоткрытый», где начало включено, в то время как окончание является исключительным. Таким образом, полный день начинается с первого момента дня и заканчивается, но не включая, первый момент , следующий за день. Весь день хотелось бы (обратите внимание на дату, идущую от 3-го по 4-й):
2016-02-03T00: 00: 00.0-08: 00 [Америка/Los_Angeles]/2016-02-04T00: 00: 00.0-08: 00 [Америка/Los_Angeles]
Joda времени
При использовании Joda-Time библиотеки, вызовите withTimeAtStartOfDay
.
Обратите внимание, как мы указываем часовой пояс. Если опустить, текущий часовой пояс JVM неявно применяется. Лучше быть явным.
DateTime todayStart = DateTime.now(DateTimeZone.forID("America/Montreal")).withTimeAtStartOfDay() ;
При использовании Java 8 или новее лучше использовать пакет java.time, встроенный в Java. См. sibling Answer от Йенса Хоффмана.
Что пробовали? Это сработало? Если нет, почему бы и нет? –
@pst добавленный раздел - это d2, который я хочу. Теперь мне нужен объект d1, который является полночь. –