Here you can find the source of isSameLocalTime(Calendar cal1, Calendar cal2)
Checks if two calendar objects represent the same local time.
This method compares the values of the fields of the two objects.
Parameter | Description |
---|---|
cal1 | the first calendar, not altered, not null |
cal2 | the second calendar, not altered, not null |
Parameter | Description |
---|---|
IllegalArgumentException | if either date is <code>null</code> |
public static boolean isSameLocalTime(Calendar cal1, Calendar cal2)
//package com.java2s; //License from project: Apache License import java.util.Calendar; import java.util.Date; public class Main { /**/*from w ww. ja v a2 s. c o m*/ * <p>Checks if two calendar objects represent the same local time.</p> * * <p>This method compares the values of the fields of the two objects. * In addition, both calendars must be the same of the same type.</p> * * @param cal1 the first calendar, not altered, not null * @param cal2 the second calendar, not altered, not null * @return true if they represent the same millisecond instant * @throws IllegalArgumentException if either date is <code>null</code> * @since 2.1 */ public static boolean isSameLocalTime(Calendar cal1, Calendar cal2) { if (cal1 == null || cal2 == null) { throw new IllegalArgumentException("The date must not be null"); } return (cal1.get(Calendar.MILLISECOND) == cal2.get(Calendar.MILLISECOND) && cal1.get(Calendar.SECOND) == cal2.get(Calendar.SECOND) && cal1.get(Calendar.MINUTE) == cal2.get(Calendar.MINUTE) && cal1.get(Calendar.HOUR) == cal2.get(Calendar.HOUR) && cal1.get(Calendar.DAY_OF_YEAR) == cal2.get(Calendar.DAY_OF_YEAR) && cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR) && cal1.get(Calendar.ERA) == cal2.get(Calendar.ERA) && cal1.getClass() == cal2.getClass()); } public static int get(int field, Date date) { Calendar c = Calendar.getInstance(); c.setTime(date); return c.get(field); } }