关于 java中Calendar类的用法 ,在Eclipse中运行

/**
* 获得当月第一天的日期时间 yyyy-MM-dd HH:mm:ss
* @param date
* @return
*/
public static String getMonthFirstDate(Date date) {

if (date == null) {
date = new Date();
}
Calendar c = Calendar.getInstance();
c.setTime(date);

/*
* 设定日期
*/
Integer minDateNum = c.getActualMinimum(Calendar.DAY_OF_MONTH);
c.set(Calendar.DAY_OF_MONTH, minDateNum);

/*
* 设定小时、分钟、秒
*/
c.set(Calendar.HOUR, c.getActualMinimum(Calendar.HOUR));
c.set(Calendar.AM_PM, Calendar.AM);
c.set(Calendar.MINUTE, c.getActualMinimum(Calendar.MINUTE));
c.set(Calendar.SECOND, c.getActualMinimum(Calendar.SECOND));

return FORMATTOSEC24.format(c.getTime());
}

/**
* 获得当月最有一天的日期时间 yyyy-MM-dd HH:mm:ss
* @param date
* @return
*/
public static String getMonthLastDate(Date date) {

if (date == null) {
date = new Date();
}
Calendar c = Calendar.getInstance();
c.setTime(date);

/*
* 设定日期
*/
Integer maxDateNum = c.getActualMaximum(Calendar.DAY_OF_MONTH);
c.set(Calendar.DAY_OF_MONTH, maxDateNum);

/*
* 设定小时、分钟、秒
*/
c.set(Calendar.HOUR, c.getActualMaximum(Calendar.HOUR));
c.set(Calendar.AM_PM, Calendar.PM);
c.set(Calendar.MINUTE, c.getActualMaximum(Calendar.MINUTE));
c.set(Calendar.SECOND, c.getActualMaximum(Calendar.SECOND));
return FORMATTOSEC24.format(c.getTime());
}


/**
* 获得当月的第一天的日期
*
* @return
* @throws ParseException
*/
@SuppressWarnings("deprecation")
public static String getFristDayofMonth() throws Exception {

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DATE, calendar
.getActualMinimum(Calendar.DAY_OF_MONTH));
return FORMATTODAY.format(calendar.getTime());
}

/**
* 获得当月的最后一天的日期
*
* @return
* @throws ParseException
*/
public static String getLastDayOfMonth() throws Exception {

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DATE, calendar
.getActualMaximum(Calendar.DAY_OF_MONTH));
return FORMATTODAY.format(calendar.getTime());
}

/**
* 返回两个日期之间的所有天数的日期
* @param begin
* @param end
* @return
*/
@SuppressWarnings("deprecation")
public static List<Date> getDate(Date begin , Date end){
List<Date> result = new ArrayList<Date>();
while(begin.before(end)){
result.add(new Date(begin.getYear(),begin.getMonth(),begin.getDate()));
begin.setDate(begin.getDate()+1);
}
result.add(end);
return result;
}


/**
* 根据两个日期获得之间所有的工作日期返回一个日期数组
* (工作日不包括星期六和星期日)
*
* @param begin 开始日期
* @param end 结束日期
* @return List<Date> 存放日期的数组
*/
public static List<Date> getDateWeek(Date begin,Date end){
if(null == begin){
begin = new Date();
}
if(null == end){
end = new Date();
}
List<Date> list = DateUtils.getDate(begin, end);
List<Date> result = new ArrayList<Date>();
Calendar calendar = Calendar.getInstance();
for(int i=0;i<list.size();i++){
calendar.setTime(list.get(i));
if (calendar.get(Calendar.DAY_OF_WEEK) == 1
|| calendar.get(Calendar.DAY_OF_WEEK) == 7) {
continue;
}else{
result.add(list.get(i));
}
}
return result;
}

/**
* 根据日期类型的数组获得数组里所有日期的星期
* @param list 日期类型的数组
* @return 返回字符串数组
*/
public static List<String> getDateWeeks(List<Date> list){
List<String> result = new ArrayList<String>();
Calendar cal = Calendar.getInstance();
for (int i = 0; i < list.size(); i++) {
cal.setTime(list.get(i));
switch (cal.get(Calendar.DAY_OF_WEEK)) {
case 1:
result.add("星期天");
break;
case 2:
result.add("星期一");
break;
case 3:
result.add("星期二");
break;
case 4:
result.add("星期三");
break;
case 5:
result.add("星期四");
break;
case 6:
result.add("星期五");
break;
case 7:
result.add("星期六");
break;
default:
break;
}

}
return result;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值