* sybase 函数说明
* dateadd(datepart,number,date_expr)
返回日期,通过在date_expr上增加指定number的日期部件而产生的
* datepart
日期部件 缩写 值范围
年 yy 1753-9999
季度 qq 1-4
月 mm 1-12
每年中的天 dy 1-366
天 dd 1-31
星期 wk 1-54
星期天 dw 1-7(1=sunday)
小时 hh 0-23
分钟 mi 0-59
秒 ss 0-59
毫秒 ms 0-999
*/
public class DataAdd {
/**
* sysbase 函数说明
* dateadd(datepart,number,date_expr)
返回日期,通过在date_expr上增加指定number的日期部件而产生的
* datepart
日期部件 缩写 值范围
年 yy 1753-9999
季度 qq 1-4
月 mm 1-12
每年中的天 dy 1-366
天 dd 1-31
星期 wk 1-54
星期天 dw 1-7(1=sunday)
小时 hh 0-23
分钟 mi 0-59
秒 ss 0-59
毫秒 ms 0-999
*/
private static String dataFormat = "yyyyMMdd hh:mm:ss:SSS";
private static SimpleDateFormat sf = new SimpleDateFormat(dataFormat);
public String getDataFormat() {
return dataFormat;
}
public void setDataFormat(String dataFormat) {
this.dataFormat = dataFormat;
}
public DataAdd(){
}
// 日期部件,增加数,日期
public static Date dataadd(String datapart,int num,Date inDate){
Calendar calendar = Calendar.getInstance();
calendar.setTime(inDate);
Calendar c = Calendar.getInstance();
System.out.println("date---"+sf.format(inDate));
int year = c.get(calendar.YEAR);
System.out.println("year--"+year);
int month = c.get(calendar.MONTH)+1;
System.out.println("month--"+month);
int dy = c.get(calendar.DAY_OF_YEAR);
System.out.println("dy--"+dy);
int qq = month/3+1;
System.out.println("qq--"+qq);
int dd = c.get(calendar.DATE);
System.out.println("dd--"+dd);
int wk = c.get(calendar.WEEK_OF_YEAR);
System.out.println("wk--"+wk);
int dw = c.get(calendar.DAY_OF_WEEK);
System.out.println("dw--"+dw);
int hourOfDay = c.get(calendar.HOUR_OF_DAY);
System.out.println("hourOfDay--"+hourOfDay);
int minute = c.get(calendar.MINUTE);
System.out.println("minute--"+minute);
int second = c.get(calendar.SECOND);
System.out.println("second--"+second);
int millisecond = c.get(calendar.MILLISECOND);
System.out.println("millisecond--"+millisecond);
if(datapart.equalsIgnoreCase("yy")){
c.add(Calendar.YEAR, num);
}
else if(datapart.equalsIgnoreCase("qq")){
c.add(Calendar.MONTH, num*3);
}
else if(datapart.equalsIgnoreCase("mm")){
c.add(Calendar.MONTH, num);
}
else if(datapart.equalsIgnoreCase("dy")){
c.add(Calendar.DAY_OF_YEAR, num);
}
else if(datapart.equalsIgnoreCase("dd")){
c.add(Calendar.DATE, num);
}
else if(datapart.equalsIgnoreCase("wk")){
c.add(Calendar.WEEK_OF_YEAR, num);
}
else if(datapart.equalsIgnoreCase("dw")){
c.add(Calendar.DAY_OF_WEEK, num);
}
else if(datapart.equalsIgnoreCase("hh")){
c.add(Calendar.HOUR_OF_DAY, num);
}
else if(datapart.equalsIgnoreCase("mi")){
c.add(Calendar.MINUTE, num);
}
if(datapart.equalsIgnoreCase("ss")){
c.add(Calendar.SECOND, num);
}
if(datapart.equalsIgnoreCase("ms")){
c.add(Calendar.MILLISECOND, num);
}
System.out.println("new --date---"+sf.format(c.getTime()));
return c.getTime();
}
/**
* @param args
*/
public static void main(String[] args) {
System.out.println(DataAdd.dataadd("qq", -1, new Date()));
}