java得到某年某周的第一天实现思路及代码

乐观的HAOXS

乐观的HAOXS

2016-02-19 11:39

想要天天向上,就要懂得享受学习。图老师为大家推荐java得到某年某周的第一天实现思路及代码,精彩的内容需要你们用心的阅读。还在等什么快点来看看吧!
直接上代码
代码如下:

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));

}
}
展开更多 50%)
分享

猜你喜欢

java得到某年某周的第一天实现思路及代码

编程语言 网络编程
java得到某年某周的第一天实现思路及代码

Java Applet 入门 第一天

编程语言 网络编程
Java Applet 入门 第一天

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

产后第一天运动

电脑网络
产后第一天运动

新妈妈的第一天

电脑网络
新妈妈的第一天

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Java 图片压缩实现思路及代码

编程语言 网络编程
Java 图片压缩实现思路及代码

产后第一天怎么调理

产妇
产后第一天怎么调理

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

全面解释java中StringBuilder、StringBuffer、String类之间的关系

全面解释java中StringBuilder、StringBuffer、String类之间的关系

Java中HashMap和TreeMap的区别深入理解

Java中HashMap和TreeMap的区别深入理解
下拉加载更多内容 ↓