我们都知道获取当前时间可以使用new Date()直接取得,如果要格式化可以使用
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf.format(new Date());
以上方法是我们写代码的时候最常用的取时间方式,但是如果项目中录入的日期偏偏要得到前一天或前一个月的时间,那么如何实现呢?
那么这个时候我们就需要使用Calendar这个日历类,Calendar实例化的方法是
Calendar calendar = Calendar.getInstance();
通过日历类得到当前时间是调用calendar.getTime();方法,返回的类型是java.util.Date
我们知道在数据库中对日期的计算可以通过datadiff函数来实现,但是程序中却没有提供直接的方法。
一般来说如果是程序里要对时间进行计算就需要讲时间转换成长整形,然后减去或加上相应的时间,最后再讲long类型转换为日期类型来实现
参考代码如下:
import java.util.Calendar;
import java.util.Date;
public class Datt {
/**
* @author maohb
* @param args
*/
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();
long lo = date.getTime()-(long)86400000*365*10;
System.out.println("lo="+new Date(lo));
}
}
希望对大家有所帮助!呵呵