Java/Mysql时间、日期加减

来源:互联网 发布:金城武 不夜城 知乎 编辑:程序博客网 时间:2024/06/05 05:42
一、Java的做法
1.用java.util.Calender来实现   Calendar calendar=Calendar.getInstance();      calendar.setTime(new Date());   System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//今天的日期    calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)+1);//让日期加1      System.out.println(calendar.get(Calendar.DATE));//加1之后的日期Top===============================================================================2.用java.text.SimpleDateFormat和java.util.Date来实现              Date d=new Date();      SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");      System.out.println("今天的日期:"+df.format(d));      System.out.println("两天前的日期:" + df.format(new Date(d.getTime() - 2 * 24 * 60 * 60 * 1000)));      System.out.println("三天后的日期:" + df.format(new Date(d.getTime() + 3 * 24 * 60 * 60 * 1000)));===============================================================================GregorianCalendar gc=new GregorianCalendar();gc.setTime(new Date);gc.add(field,value);value为正则往后,为负则往前field取1加1年,取2加半年,取3加一季度,取4加一周取5加一天....===============================================================================package temp.util;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import java.text.SimpleDateFormat;public class UseDate {Date d=new Date();GregorianCalendar gc =new GregorianCalendar();SimpleDateFormat sf  =new SimpleDateFormat("yyyy-MM-dd");public String getYears(){gc.setTime(d);gc.add(1,+1);gc.set(gc.get(Calendar.YEAR),gc.get(Calendar.MONTH),gc.get(Calendar.DATE));return sf.format(gc.getTime());}public String getHalfYear(){gc.setTime(d);gc.add(2,+6);gc.set(gc.get(Calendar.YEAR),gc.get(Calendar.MONTH),gc.get(Calendar.DATE));return sf.format(gc.getTime());}public String getQuarters(){gc.setTime(d);gc.add(2,+3);gc.set(gc.get(Calendar.YEAR),gc.get(Calendar.MONTH),gc.get(Calendar.DATE));return sf.format(gc.getTime());}public String getLocalDate(){return sf.format(d);}public static  void  main(String[] args){UseDate ud= new UseDate();System.out.println(ud.getLocalDate());System.out.println(ud.getYears());System.out.println(ud.getHalfYear());System.out.println(ud.getQuarters());}}

 

 

二、MySQL的做法:直接使用日期函数做查询条件即可。比如:

select date_sub('"+时间(比如当前时间)+"',interval "+减去的时间+" Hour_minute)//其中Hour_minute还可以是其他的时间参数,比如Hour。。。。。。同理,需要时间上加:使用。select date_add('"+时间(比如当前时间)+"',interval "+减去的时间+" Hour_minute)