java有用的时间类

import java.util.Calendar;
import java.util.Date;
import java.text.*;


public class DateDealWith
{
public DateDealWith(){
}
//取得系统当前时间,格式为yyyy-mm-dd
public String getCurrentDate(){
Calendar rightNow = Calendar.getInstance();
int year=rightNow.get(rightNow.YEAR);
int month=rightNow.get(rightNow.MONTH)+1;
int day=rightNow.get(rightNow.DATE);
return year+"-"+month+"-"+day;
}
//取得系统当前时间,格式为yyyy年mm月dd日
public String getCurrentDate1(){
Calendar rightNow = Calendar.getInstance();
int year=rightNow.get(rightNow.YEAR);
int month=rightNow.get(rightNow.MONTH)+1;
int day=rightNow.get(rightNow.DATE);
return year+"年"+month+"月"+day+"日";
}
//取得系统当前时间前n个月的相对应的一天
public String getNMonthBeforeCurrentDay(int n){
Calendar c = Calendar.getInstance();
c.add(c.MONTH,-n);
return ""+c.get(c.YEAR)+"-"+(c.get(c.MONTH)+1)+"-"+c.get(c.DATE);

}
//取得系统当前时间后n个月的相对应的一天
public String getNMonthAfterCurrentDay(int n){
Calendar c = Calendar.getInstance();
c.add(c.MONTH,n);
return ""+c.get(c.YEAR)+"-"+(c.get(c.MONTH)+1)+"-"+c.get(c.DATE);

}

//取得系统当前时间前n天,格式为yyyy-mm-dd
public String getNDayBeforeCurrentDate(int n){
Calendar c = Calendar.getInstance();
c.add(c.DAY_OF_MONTH,-n);
return ""+c.get(c.YEAR)+"-"+(c.get(c.MONTH)+1)+"-"+c.get(c.DATE);
}
//取得系统当前时间后n天,格式为yyyy-mm-dd
public String getNDayAfterCurrentDate(int n){
Calendar c = Calendar.getInstance();
c.add(c.DAY_OF_MONTH,n);
return ""+c.get(c.YEAR)+"-"+(c.get(c.MONTH)+1)+"-"+c.get(c.DATE);
}
//---------------------------------------------------------------------
//取过去一个时间对应的系统当年的一天
public String getCurrentDateAfterPastDate(String sPastDate){
if(sPastDate!=null && !sPastDate.equals("")){
Date date=switchStringToDate(sPastDate);
Calendar c = Calendar.getInstance();
c.setTime(date);
int iPastYear=c.get(c.YEAR);
Calendar c1 = Calendar.getInstance();
int iCurrentYear=c1.get(c1.YEAR);
c.add(c.YEAR,iCurrentYear-iPastYear);
return ""+c.get(c.YEAR)+"-"+(c.get(c.MONTH)+1)+"-"+c.get(c.DATE);
}else{
return null;
}
}
//-----------------------------------------------------------------
//将一个日期字符串转化成日期
public Date switchStringToDate(String sDate){
Date date=null;
try{
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
date=df.parse(sDate);

}catch(Exception e){
System.out.println("日期转换失败:"+e.getMessage());
}
return date;
}

//输入两个字符串型的日期,比较两者的大小
public boolean compareTwoDateBigOrSmall(String fromDate,String toDate){
Date dateFrom = this.switchStringToDate(fromDate);
Date dateTo = this.switchStringToDate(toDate);
if(dateFrom.before(dateTo)){
return true;
}else{
return false;
}
}

//将一个日期字符串转化成Calendar
public Calendar switchStringToCalendar(String sDate){
Date date = switchStringToDate(sDate);
Calendar c = Calendar.getInstance();
c.setTime(date);
return c;
}
//将一个日期转化成Calendar
public Calendar switchStringToCalendar(Date date){
Calendar c = Calendar.getInstance();
c.setTime(date);
return c;
}
//------------------------------------------------------------------------
//取得某个时间前n个月的相对应的一天
public String getNMonthBeforeOneDay(String sDate,int n){
Calendar c = switchStringToCalendar(sDate);
c.add(c.MONTH,-n);
return ""+c.get(c.YEAR)+"-"+(c.get(c.MONTH)+1)+"-"+c.get(c.DATE);

}
//取得某个时间后n个月的相对应的一天
public String getNMonthAfterOneDay(String sDate,int n){
Calendar c = switchStringToCalendar(sDate);
c.add(c.MONTH,n);
return ""+c.get(c.YEAR)+"-"+(c.get(c.MONTH)+1)+"-"+c.get(c.DATE);

}

//取得某个时间前n天,格式为yyyy-mm-dd
public String getNDayBeforeOneDate(String sDate,int n){
Calendar c = switchStringToCalendar(sDate);
c.add(c.DAY_OF_MONTH,-n);
return ""+c.get(c.YEAR)+"-"+(c.get(c.MONTH)+1)+"-"+c.get(c.DATE);
}
//取得某个时间后n天,格式为yyyy-mm-dd
public String getNDayAfterOneDate(String sDate,int n){
Calendar c = switchStringToCalendar(sDate);
c.add(c.DAY_OF_MONTH,n);
return ""+c.get(c.YEAR)+"-"+(c.get(c.MONTH)+1)+"-"+c.get(c.DATE);
}
//判断系统当前时间是不是润年
public boolean isRunNian(){
java.util.Calendar rightNow = java.util.Calendar.getInstance();
int year=rightNow.get(rightNow.YEAR);
if(0==year%4 && (year%100!=0 || year%400==0)){
return true;
}else{
return false;
}

}
}

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值