Java tutorial
//package com.java2s; /* * Copyright 2004-2014 the Seasar Foundation and the Others. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, * either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ import java.util.Calendar; public class Main { public static void moveToCalendarDayJust(Calendar cal) { // 2011/11/17 00:00:00.000 moveToCalendarDayJust(cal, cal.getActualMinimum(Calendar.HOUR_OF_DAY)); } public static void moveToCalendarDayJust(Calendar cal, int dayBeginHour) { final int realBeginValue; if (dayBeginHour >= 0) { realBeginValue = dayBeginHour; } else { realBeginValue = (dayBeginHour * -1); // remove minus addCalendarDay(cal, -1); } moveToCalendarHour(cal, realBeginValue); clearCalendarMinuteWithRear(cal); } public static void addCalendarDay(Calendar cal, int days) { cal.add(Calendar.DAY_OF_MONTH, days); } public static void moveToCalendarHour(Calendar cal, int hour) { assertArgumentNotMinusInteger("hour", hour); cal.set(Calendar.HOUR_OF_DAY, hour); } public static void clearCalendarMinuteWithRear(Calendar cal) { cal.set(Calendar.MINUTE, cal.getActualMinimum(Calendar.MINUTE)); clearCalendarSecondWithRear(cal); } protected static void assertArgumentNotMinusInteger(String name, int value) { if (value < 0) { String msg = "The argument '" + name + "' should be plus or zero value: " + value; throw new IllegalArgumentException(msg); } } public static void clearCalendarSecondWithRear(Calendar cal) { cal.set(Calendar.SECOND, cal.getActualMinimum(Calendar.SECOND)); clearCalendarMillisecond(cal); } public static void clearCalendarMillisecond(Calendar cal) { cal.set(Calendar.MILLISECOND, cal.getActualMinimum(Calendar.MILLISECOND)); } }