Here you can find the source of getDayByWeekString(Date date, String weekString)
Parameter | Description |
---|---|
date | a parameter |
weekString | a parameter |
public static Date getDayByWeekString(Date date, String weekString)
//package com.java2s; /*/*ww w.jav a2s. c om*/ * $Id: UtilDateTime.java,v 1.2 2005/01/31 05:27:55 jdon Exp $ * * Copyright (c) 2001, 2002 The Open For Business Project - www.ofbiz.org * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT * OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ import java.util.*; import java.sql.Timestamp; import java.text.*; public class Main { public static Map<String, Integer> week2int = new HashMap<String, Integer>(); /** * * @param date * @param weekString * @return */ public static Date getDayByWeekString(Date date, String weekString) { return getDayByWeekString(date, weekString, false); } /** * * @param date * @param weekString * @return */ public static Date getDayByWeekString(Date date, String weekString, Boolean byAdd) { if (week2int.containsKey(weekString) && date != null) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); if (byAdd) { calendar.add(Calendar.DAY_OF_MONTH, 1); } int intWeek = calendar.get(Calendar.DAY_OF_WEEK) == 1 ? 8 : calendar.get(Calendar.DAY_OF_WEEK); while (true) { if (intWeek == week2int.get(weekString)) { String dstr = toDateString(calendar.getTime()); return Timestamp.valueOf(dstr + " 00:00:00"); //return calendar.getTime(); } calendar.add(Calendar.DAY_OF_MONTH, 1); intWeek = calendar.get(Calendar.DAY_OF_WEEK) == 1 ? 8 : calendar.get(Calendar.DAY_OF_WEEK); } } return null; } public static String toDateString(Date date, String pattern) { return new SimpleDateFormat(pattern).format(date); } /** Makes a date String in the format MM/DD/YYYY from a Date * @param date The Date * @return A date String in the format MM/DD/YYYY */ public static String toDateString(java.util.Date date) { if (date == null) return ""; Calendar calendar = Calendar.getInstance(); calendar.setTime(date); int month = calendar.get(Calendar.MONTH) + 1; int day = calendar.get(Calendar.DAY_OF_MONTH); int year = calendar.get(Calendar.YEAR); String monthStr; String dayStr; String yearStr; if (month < 10) { monthStr = "0" + month; } else { monthStr = "" + month; } if (day < 10) { dayStr = "0" + day; } else { dayStr = "" + day; } yearStr = "" + year; return yearStr + "-" + monthStr + "-" + dayStr; // + "-" + yearStr; } }