首页 > 其他 > 详细

获取某月份第N周结束日期(即星期日)

时间:2014-01-21 00:20:10      阅读:378      评论:0      收藏:0      [点我收藏+]
	/**
	 * <pre>
	 * 获取某月份第N周结束日期(即星期日)
	 * </pre>
	 * 
	 * @param year 年
	 * @param month 月
	 * @param weekOrder 周次
	 * @return Date
	 *         某月份第N周结束日期,即周日(包含跨月),比如2013年11月的第五周的最后一天为2013-12-01,也就是说,2013
	 *         年11月第五周也就是2013年12月的第一周
	 */
	public static Date getLastDayOfWeekOrder(int year, int month, int weekOrder)
	{
		final Calendar c = Calendar.getInstance();
		c.set(Calendar.YEAR, year);
		c.set(Calendar.MONTH, month - 1);
		c.set(Calendar.DAY_OF_MONTH, 1); // 设为每个月的第一天(1号)

		int dayOfWeek = c.get(Calendar.DAY_OF_WEEK); // 每个月的第一天为星期几

		/*
		 * 星期日:1,星期一:2,星期二:3,星期三:4,星期四:5,星期五:6,星期六:7
		 * 转化为我们的使用习惯:星期一:1,星期二:2,星期三:3,星期四:4,星期五:5,星期六:6,星期日:7
		 */
		if (dayOfWeek != Calendar.SUNDAY)
		{
			dayOfWeek = dayOfWeek - 1;
		}
		else
		{
			dayOfWeek = 7;
		}
		c.add(Calendar.DAY_OF_MONTH, 1 - dayOfWeek); // 使其为每个月第一天所在周的星期一
		c.add(Calendar.DAY_OF_MONTH, (weekOrder - 1) * 7 + 6);

		return c.getTime();
	}

获取某月份第N周结束日期(即星期日)

原文:http://blog.csdn.net/lwcumt/article/details/18408391

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!