java得到某年某周的第一天
2013-01-22 09:52
183 查看
直接上代码
import java.util.Calendar; import java.util.Date; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; /** * 日期工具类 * @author WXQ * */ public class DateUtils { private static final Log log = LogFactory.getLog(DateUtils.class); /** * 取得当前日期是多少周 * * @param date * @return */ public static int getWeekOfYear(Date date) { Calendar c = Calendar.getInstance(); c.setFirstDayOfWeek(Calendar.MONDAY); /**设置一年中第一个星期所需的最少天数,例如,如果定义第一个星期包含一年第一个月的第一天,则使用值 1 调用此方法。 * 如果最少天数必须是一整个星期,则使用值 7 调用此方法。 **/ c.setMinimalDaysInFirstWeek(1); c.setTime(date); return c.get(Calendar.WEEK_OF_YEAR); } /** * 得到某一年周的总数 * * @param year * @return */ public static int getMaxWeekNumOfYear(int year) { Calendar c = Calendar.getInstance(); c.set(year, Calendar.DECEMBER, 31, 23, 59, 59); return getWeekOfYear(c.getTime()); } /** * 得到某年某周的第一天 * * @param year * @param week * @return */ public static Date getFirstDayOfWeek(int year, int week) { Calendar c = Calendar.getInstance(); c.set(Calendar.YEAR, year); c.set(Calendar.WEEK_OF_YEAR, week); c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);//设置周一 c.setFirstDayOfWeek(Calendar.MONDAY); return c.getTime(); } /** * 得到某年某周的最后一天 * * @param year * @param week * @return */ public static Date getLastDayOfWeek(int year, int week) { Calendar c = Calendar.getInstance(); c.set(Calendar.YEAR, year); c.set(Calendar.WEEK_OF_YEAR, week); c.setFirstDayOfWeek(Calendar.MONDAY); c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek() + 6); // Sunday return c.getTime(); } /** * 得到某年某月的第一天 * * @param year * @param month * @return */ public static Date getFirstDayOfMonth(int year, int month) { Calendar c = Calendar.getInstance(); c.set(Calendar.YEAR, year); c.set(Calendar.MONTH, month-1); c.set(Calendar.DAY_OF_MONTH, c.getActualMinimum(Calendar.DAY_OF_MONTH)); return c.getTime(); } /** * 得到某年某月的最后一天 * * @param year * @param month * @return */ public static Date getLastDayOfMonth(int year, int month) { Calendar c = Calendar.getInstance(); c.set(Calendar.YEAR, year); c.set(Calendar.MONTH, month-1); c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH)); return c.getTime(); } /** * 得到某年某季度第一天 * * @param year * @param quarter * @return */ public static Date getFirstDayOfQuarter(int year, int quarter) { int month = 0; if (quarter > 4) { return null; } else { month = (quarter - 1) * 3 + 1; } return getFirstDayOfMonth(year, month); } /** * 得到某年某季度最后一天 * * @param year * @param quarter * @return */ public static Date getLastDayOfQuarter(int year, int quarter) { int month = 0; if (quarter > 4) { return null; } else { month = quarter * 3; } return getLastDayOfMonth(year, month); } /** * 得到某年第一天 * * @param year * @return */ public static Date getFirstDayOfYear(int year) { return getFirstDayOfQuarter(year,1); } /** * 得到某年最后一天 * * @param year * @return */ public static Date getLastDayOfYear(int year) { return getLastDayOfQuarter(year,4); } public static void main(String[] args) { log.info(getFirstDayOfWeek(2013,1)); log.info(getLastDayOfWeek(2013,1)); log.info(getFirstDayOfMonth(2013,2)); log.info(getLastDayOfMonth(2013,2)); log.info(getFirstDayOfQuarter(2013,2)); log.info(getLastDayOfQuarter(2013,2)); log.info(getFirstDayOfYear(2013)); log.info(getLastDayOfYear(2013)); } }
相关文章推荐
- java得到某年某周的第一天
- Java实现获取某年某月第一天/最后一天的方法
- Java获取某年第一天与最后一天时间方法
- Java得到年在一个季度的错误的第一天
- Java获取某年某季度的第一天出错
- Java获取某年某周的第一天
- Java获取某年某季度的第一天出错
- Java获取某年某月的第一天和最后一天
- java 中得到上个月的第一天和最后一天
- Java获取某年某月的第一天
- Java 得到上个月第一天和最后一天
- Java获取某年某月的第一天
- java 得到某个月的第一天和最后一天
- Java获取某年某月的第一天
- java 获取某年第一天日期
- Java获取某年某周的第一天
- Java得到当月的第一天和最后一天
- Java获取某年某周的第一天
- Java中如何得到文件的创建时间&最后修改时间