/**
* 时间处理类
*/
package org.boss.web;
import java.util.Calendar;
import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class CalendarDemo {
private Calendar calendar;
private Date date;
private SimpleDateFormat simpleFormat;
public CalendarDemo() {
calendar = Calendar.getInstance();
date = new Date();
calendar.setTime(date);
calendar.setFirstDayOfWeek(calendar.MONDAY);
}
/**
* 获取日期的年的值,数字型。
*/
public String getYear() {
return String.valueOf(calendar.get(calendar.YEAR));
}
/**
* 获取日期的月的值,数字型。
*/
public String getMonth() {
java.text.DecimalFormat format=new java.text.DecimalFormat("00");
String month=format.format(calendar.get(calendar.MONTH) + 1);
return month;
}
/**
* 获取日期的日的值,数字型。
*/
public String getDay() {
java.text.DecimalFormat format=new java.text.DecimalFormat("00");
String day=format.format(calendar.get(calendar.DATE));
return day;
}
/**
* 获取日期的星期的值,数字型。
*/
public int getWeekOfMonth() {
return calendar.get(calendar.WEEK_OF_MONTH);
}
/**
* 获取时间的小时的值,数字型。
*/
public String getHour() {
java.text.DecimalFormat format=new java.text.DecimalFormat("00");
String hour=format.format(calendar.get(calendar.HOUR_OF_DAY));
return hour;
}
/**
* 获取日期的分钟的值,数字型。
*/
public String getMinute() {
java.text.DecimalFormat format=new java.text.DecimalFormat("00");
String minute=format.format(calendar.get(calendar.MINUTE));
return minute;
}
/**
* 获取日期的秒钟的值,数字型。
*/
public String getSecond() {
java.text.DecimalFormat format=new java.text.DecimalFormat("00");
String second=format.format(calendar.get(calendar.SECOND));
return second;
}
/**
* 获取一个星期中的某天.文字型。
* @return
*/
public String getDayOfWeek(){
int week= calendar.get(calendar.DAY_OF_WEEK);
String strweek=null;
switch(week){
case 0:
strweek="一";
break;
case 1:
strweek="二";
break;
case 2:
strweek="三";
break;
case 3:
strweek="四";
break;
case 4:
strweek="五";
break;
case 5:
strweek="六";
break;
case 6:
strweek="日";
break;
default:
}
return strweek;
}
public String getDate() {//将时间转成字符型
return String.valueOf(this.getYear()) + "-"
+ String.valueOf(this.getMonth()) + "-"
+ String.valueOf(this.getDay()) + " "
+ String.valueOf(this.getHour()) + ":"
+ String.valueOf(this.getMinute()) + ":"
+ String.valueOf(this.getSecond());
}
public Date stringToDate(String strDate){//将字符转成时间
try{
simpleFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//日期的字符强制转换
date=simpleFormat.parse(strDate);
return date;
}catch(ParseException e){
e.printStackTrace();
}
return null;
}
public String getSampleDate(){//得到简介时间
return String.valueOf(this.getYear()) + "-"
+ String.valueOf(this.getMonth()) + "-"
+ String.valueOf(this.getDay());
}
public Date sampleStringToDate(String strDate){//将简介时间字符串转成时间
try{
simpleFormat=new SimpleDateFormat("yyyy-MM-dd");//日期的字符强制转换
date=simpleFormat.parse(strDate);
return date;
}catch(ParseException e){
e.printStackTrace();
}
return null;
}
public String getEndTime(int month){//得到结束时间(按月计算)
int nowyear=Integer.parseInt(this.getYear());
int nowmonth=Integer.parseInt(this.getMonth());
int endmonth=nowmonth+month;
if(endmonth>12){
endmonth=endmonth-12;
nowyear+=1;
}
String nowDate=String.valueOf(nowyear) + "-"
+ String.valueOf(endmonth) + "-"
+ String.valueOf(this.getDay()) + " "
+ String.valueOf(this.getHour()) + ":"
+ String.valueOf(this.getMinute()) + ":"
+ String.valueOf(this.getSecond());
return nowDate;
}
public int getNumberOfDays(String startTime,String endTime){//比较两个String 时间的相差天数
Date startDate=this.stringToDate(startTime);
long longStartTime=startDate.getTime();//得到时间的毫秒
Date endDate=this.stringToDate(endTime);
long longEndTime=endDate.getTime();//得到时间的毫秒
int day=(int)((longStartTime-longEndTime)/ 86400000);//得到相差的天数。
return day;
}
}