Here you can find the source of toWeekDayUS(Date date, int expect)
private static Date toWeekDayUS(Date date, int expect)
//package com.java2s; /*// w ww . j a va2s . c o m * JEF - Copyright 2009-2010 Jiyi (mr.jiyi@gmail.com) * * 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; import java.util.Date; import java.util.GregorianCalendar; public class Main { private static Date toWeekDayUS(Date date, int expect) { int day = getWeekDay(date); return adjustDate(date, 0, 0, expect - day); } public static int getWeekDay(Date d) { if (d == null) return -1; final Calendar c = new GregorianCalendar(); c.setTime(d); return c.get(Calendar.DAY_OF_WEEK) - 1; } public static Date adjustDate(Date date, int year, int month, int day) { Calendar c = Calendar.getInstance(); c.setTime(date); c.add(Calendar.YEAR, year); c.add(Calendar.MONTH, month); c.add(Calendar.DAY_OF_YEAR, day); return c.getTime(); } public static final Date get(int year, int month, int date) { Calendar calendar = Calendar.getInstance(); calendar.set(year, month - 1, date, 0, 0, 0); calendar.set(Calendar.MILLISECOND, 0); return calendar.getTime(); } public static final Date get(int year, int month, int date, int hour, int minute, int second) { Calendar calendar = Calendar.getInstance(); calendar.set(year, month - 1, date, hour, minute, second); calendar.set(Calendar.MILLISECOND, 0); return calendar.getTime(); } }