Java examples for java.util:Week
is This Week
/******************************************************************************* * Copyright (c) 2004, 2009 Tasktop Technologies and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors:/*from w ww .j a va2 s . c o m*/ * Tasktop Technologies - initial API and implementation *******************************************************************************/ //package com.java2s; import java.util.Calendar; public class Main { public static void main(String[] argv) throws Exception { Calendar time = Calendar.getInstance(); System.out.println(isThisWeek(time)); } private static int startDay = Calendar.MONDAY; public static boolean isThisWeek(Calendar time) { if (time != null) { Calendar weekStart = getCalendar(); snapStartOfWorkWeek(weekStart); Calendar weekEnd = getCalendar(); snapEndOfWeek(weekEnd); return (time.compareTo(weekStart) >= 0 && time .compareTo(weekEnd) <= 0); } return false; } public static Calendar getCalendar() { Calendar cal = Calendar.getInstance(); cal.setFirstDayOfWeek(startDay); cal.getTime(); return cal; } public static Calendar snapStartOfWorkWeek(Calendar cal) { cal.set(Calendar.DAY_OF_WEEK, startDay); snapStartOfDay(cal); return cal; } public static Calendar snapEndOfWeek(Calendar cal) { cal.set(Calendar.DAY_OF_WEEK, getLastDayOfWeek(cal)); snapEndOfDay(cal); return cal; } public static Calendar snapStartOfDay(Calendar cal) { cal.set(Calendar.HOUR_OF_DAY, 0); cal.set(Calendar.MINUTE, 0); cal.set(Calendar.SECOND, 0); cal.set(Calendar.MILLISECOND, 0); cal.getTime(); return cal; } public static int getLastDayOfWeek(Calendar cal) { int last = cal.getFirstDayOfWeek() - 1; if (last == 0) { last = Calendar.SATURDAY; } return last; } public static Calendar snapEndOfDay(Calendar cal) { cal.set(Calendar.HOUR_OF_DAY, cal.getActualMaximum(Calendar.HOUR_OF_DAY)); cal.set(Calendar.MINUTE, cal.getActualMaximum(Calendar.MINUTE)); cal.set(Calendar.SECOND, cal.getActualMaximum(Calendar.SECOND)); cal.set(Calendar.MILLISECOND, cal.getActualMaximum(Calendar.MILLISECOND)); cal.getTime(); return cal; } }