手机
当前位置:查字典教程网 >编程开发 >Java >java得到某年某周的第一天实现思路及代码
java得到某年某周的第一天实现思路及代码
摘要:直接上代码复制代码代码如下:importjava.util.Calendar;importjava.util.Date;importorg....

直接上代码

复制代码 代码如下:

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 swing标准对话框具体实现

java IO流文件的读写具体实例

java数据库操作类演示实例分享(java连接数据库)

Java实现几种常见排序算法代码

java运行windows的cmd命令简单代码

深入Ajax代理的Java Servlet的实现详解

java中枚举的详细使用介绍

java字符串切割实例学习(获取文件名)

精品推荐
分类导航