import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Locale; /** * 计算2个日期之间的相差天数 */ public class CountTimeDiff { public static void main(String[] args) { try { // 日期格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date smallDate = sdf.parse("2013-04-30"); Date bigDate = sdf.parse("2013-05-01"); System.out.println(daysBetween(smallDate, bigDate)); // 字符串格式 System.out.println(daysBetween("2012-02-09", "2013-05-09")); } catch (ParseException e) { e.printStackTrace(); } } /** * 计算2个日期之间相差的天数 * * @param smallDate * 较小的日期 * @param bigDate * 较大的日期 * @return 相差天数 * @throws ParseException */ public static int daysBetween(Date smallDate, Date bigDate) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); smallDate = sdf.parse(sdf.format(smallDate)); bigDate = sdf.parse(sdf.format(bigDate)); Calendar calendar = Calendar.getInstance(Locale.CHINA); calendar.setTime(smallDate); long smallDateTime = calendar.getTimeInMillis(); calendar.setTime(bigDate); long bigDateTime = calendar.getTimeInMillis(); long betweenDays = (bigDateTime - smallDateTime) / (1000 * 3600 * 24); return Integer.parseInt(String.valueOf(betweenDays)); } /** * * @param smallDate * 较小的日期 * @param bigDate * 较大的日期 * @return 相差天数 * @throws ParseException */ public static int daysBetween(String smallDate, String bigDate) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar calendar = Calendar.getInstance(Locale.CHINA); calendar.setTime(sdf.parse(smallDate)); long smallDateTime = calendar.getTimeInMillis(); calendar.setTime(sdf.parse(bigDate)); long bigDateTime = calendar.getTimeInMillis(); long betweenDays = (bigDateTime - smallDateTime) / (1000 * 3600 * 24); return Integer.parseInt(String.valueOf(betweenDays)); } }
JAVA计算2个日期之间的相差天数
猜你喜欢
转载自huangminwen.iteye.com/blog/1866137
今日推荐
周排行