Here you can find the source of dayDiffByStartOfDay(Date a, Date b)
public static long dayDiffByStartOfDay(Date a, Date b)
//package com.java2s; /*/*w ww .ja v a2s . co m*/ * #%L * Webstar Newsletter * %% * Copyright (C) 2013 Webstar Csoport Kft. * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program. If not, see * <http://www.gnu.org/licenses/gpl-3.0.html>. * #L% */ import java.util.*; public class Main { public static final long HOUR_IN_MILLIS = 60 * 60 * 1000; public static final long DAY_IN_MILLIS = 24 * HOUR_IN_MILLIS; public static long dayDiffByStartOfDay(Date a, Date b) { a = startOfDay(a); b = startOfDay(b); return dayDiff(a, b); } public static Date startOfDay(Date datum) { if (datum == null) { return null; } Calendar cal = new GregorianCalendar(); cal.setTime(datum); cal.set(Calendar.HOUR_OF_DAY, 0); cal.set(Calendar.MINUTE, 0); cal.set(Calendar.SECOND, 0); cal.set(Calendar.MILLISECOND, 0); return cal.getTime(); } public static long dayDiff(Date a, Date b) { if (a == null || b == null) { return 0; } long diff = a.getTime() - b.getTime(); //egy orat a teli-nyari idoszamitas miatt korrigalunk (van 23 oras nap is) if (diff >= 0) { diff = diff + HOUR_IN_MILLIS; } else { diff = diff - HOUR_IN_MILLIS; } return diff / DAY_IN_MILLIS; } }