forum.bitel.ru http://forum.bitel.ru/ |
|
как работает TimeUtils.dateInPeriod(Date checking,Period) http://forum.bitel.ru/viewtopic.php?f=19&t=12001 |
Страница 1 из 1 |
Автор: | skyb [ 10 окт 2016, 11:02 ] |
Заголовок сообщения: | как работает TimeUtils.dateInPeriod(Date checking,Period) |
Код: Calendar c = Calendar.getInstance(); c.add(Calendar.MONTH, -1); Period p = new Period(TimeUtils.convertCalendarToDate(TimeUtils.getStartMonth(c)), TimeUtils.convertCalendarToDate(TimeUtils.getEndMonth(c))); Вот что выводит принт на период Код: 01.09.2016-30.09.2016 и вот что выводит вот такой принт Код: print("date1 " + date1 + "\n" + "TimeUtils.dateInPeriod(date1, p) " + TimeUtils.dateInPeriod(date1, p)); Код: date1 2016-09-01 TimeUtils.dateInPeriod(date1, p) false а чего, первый и последний дни в периоде не учитываются? (про последний не проверял, предположение) если поставить следующую дату, то будет true, я про дату 02.09.2016 |
Автор: | barguzin2 [ 10 окт 2016, 13:46 ] |
Заголовок сообщения: | Re: как работает TimeUtils.dateInPeriod(Date checking,Period |
Не хватает куска кода, где задается date1, но предположение следующее: надо учитывать, что Date - это не только дата, но и время. И когда задается период приведенным методом, то он получается что-то вроде 01.09.2016 14:36:25 - 30.09.2016 14:36:25 (время для примера указал своё), а date1 устанавливается 01.09.2016 00:00:00 и получается, что оно не входит в период. Для конца периода как раз бы всё сработало. Пробуй даты периода задавать явно через calendar.set(year,month,date,hh,mm,ss).getTime(). |
Автор: | skyb [ 10 окт 2016, 14:00 ] |
Заголовок сообщения: | Re: как работает TimeUtils.dateInPeriod(Date checking,Period |
дата получается с sql запроса, а вот про период я не подумал, сбросил период в начало дня, да, действительно отработало |
Автор: | dimOn [ 10 окт 2016, 14:24 ] |
Заголовок сообщения: | Re: как работает TimeUtils.dateInPeriod(Date checking,Period |
когда Date или Calendar используется в качестве "даты" (что неправильно) всегда надо очищать часы минуты сек и миллисек в нули |
Автор: | skyb [ 10 окт 2016, 15:36 ] |
Заголовок сообщения: | Re: как работает TimeUtils.dateInPeriod(Date checking,Period |
dimOn писал(а): когда Date или Calendar используется в качестве "даты" (что неправильно) всегда надо очищать часы минуты сек и миллисек в нули а как правильно? |
Автор: | barguzin2 [ 10 окт 2016, 16:32 ] |
Заголовок сообщения: | Re: как работает TimeUtils.dateInPeriod(Date checking,Period |
Цитата: всегда надо очищать часы минуты сек и миллисек в нули ![]() |
Автор: | dimOn [ 10 окт 2016, 17:04 ] |
Заголовок сообщения: | Re: как работает TimeUtils.dateInPeriod(Date checking,Period |
skyb писал(а): dimOn писал(а): когда Date или Calendar используется в качестве "даты" (что неправильно) всегда надо очищать часы минуты сек и миллисек в нули а как правильно? это вопросы уже философские, а пока barguzin2 писал(а): Цитата: всегда надо очищать часы минуты сек и миллисек в нули ![]() |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |