Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Calendar c=Calendar.getInstance();
- year=c.get(c.YEAR);
- month=c.get(c.MONTH);
- month++;
- date=c.get(c.DATE);
- Calendar c=Calendar.getInstance();
- year1=c.get(c.YEAR);
- week1=c.get(c.WEEK_OF_YEAR);
- Calendar c=Calendar.getInstance();
- c.setTimeInMillis(/*Second date in millis here*/)
- year2=c.get(c.YEAR);
- week2=c.get(c.WEEK_OF_YEAR);
- if(year1 == year2){
- if(week1 == week2}{
- //Do what you want here
- }
- }
- }
- compile 'joda-time:joda-time:2.3'
- public static boolean isSameWeek(final Date d1, final Date d2) {
- if ((d1 == null) || (d2 == null))
- throw new IllegalArgumentException("The date must not be null");
- return isSameWeek(new DateTime(d1), new DateTime(d2));
- }
- public static boolean isSameWeek(final DateTime d1, final DateTime d2) {
- if ((d1 == null) || (d2 == null))
- throw new IllegalArgumentException("The date must not be null");
- // It is important to use week of week year & week year
- final int week1 = d1.getWeekOfWeekyear();
- final int week2 = d2.getWeekOfWeekyear();
- final int year1 = d1.getWeekyear();
- final int year2 = d2.getWeekyear();
- final int era1 = d1.getEra();
- final int era2 = d2.getEra();
- // Return true if week, year and era matches
- if ((week1 == week2) && (year1 == year2) && (era1 == era2))
- return true;
- // Return false if none of the conditions are satisfied
- return false;
- }
- public class TestDateUtil {
- @Test
- public void testIsSameWeek() {
- final DateTime d1 = new DateTime(2014, 12, 31, 0, 0);
- final DateTime d2 = new DateTime(2015, 1, 1, 0, 0);
- final DateTime d3 = new DateTime(2015, 1, 2, 0, 0);
- final DateTime d4 = new DateTime(2015, 1, 8, 0, 0);
- assertTrue(isSameWeek(d1, d2));
- assertTrue(isSameWeek(d2, d1));
- assertTrue(isSameWeek(d2, d3));
- assertTrue(isSameWeek(d3, d2));
- assertFalse(isSameWeek(d2, d4));
- assertFalse(isSameWeek(d4, d2));
- assertFalse(isSameWeek(d1, d4));
- assertFalse(isSameWeek(d4, d1));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement