您的位置:首页 > 编程语言 > Java开发

java 日期时间 ,实现sybase dateadd函数

2013-11-09 09:40 204 查看
/**

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

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: