// ======================================================================== // Copyright (C) zeroth Project Team. All rights reserved. // GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007 // http://www.gnu.org/licenses/agpl-3.0.txt // ======================================================================== package zeroth.framework.standard.shared; import java.util.Date; import org.apache.commons.lang3.time.DateUtils; /** * カレンダーのユーティリティ * @author nilcy */ public final class CalendarUtils { /** 1つ前の移動量 */ private static final int PREV_AMOUNT = -1; /** 1つ先の移動量 */ private static final int NEXT_AMOUNT = 1; /** 非公開コンストラクタ */ private CalendarUtils() { } /** * 先週日付の取得 * @param aDate 基点の日付 * @return 先週日付 */ public static Date prevWeek(final Date aDate) { return DateUtils.addWeeks(aDate, PREV_AMOUNT); } /** * 翌週日付の取得 * @param aDate 基点の日付 * @return 翌週日付 */ public static Date nextWeek(final Date aDate) { return DateUtils.addWeeks(aDate, NEXT_AMOUNT); } /** * 先月日付の取得 * @param aDate 基点の日付 * @return 先月日付 */ public static Date prevMonth(final Date aDate) { return DateUtils.addMonths(aDate, PREV_AMOUNT); } /** * 翌月日付の取得 * @param aDate 基点の日付 * @return 翌月 */ public static Date nextMonth(final Date aDate) { return DateUtils.addMonths(aDate, NEXT_AMOUNT); } /** * 前年日付の取得 * @param aDate 基点の日付 * @return 先月日付 */ public static Date prevYear(final Date aDate) { return DateUtils.addYears(aDate, PREV_AMOUNT); } /** * 翌年日付の取得 * @param aDate 基点の日付 * @return 翌月 */ public static Date nextYear(final Date aDate) { return DateUtils.addYears(aDate, NEXT_AMOUNT); } }