1 Date
1.1 获取时间毫秒值
date.getTime();//注意时区带来的影响
1.2 日期类型的比较 after before:
SimpleDateFormat localTime=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//格式化日期类型
String star = "2017-10-30 09:00:00";
String end = "2017-10-30 23:30:00";
Date sdate =localTime.parse(star) ;
Date edate=localTime.parse(end);
System.out.println(edate.after(sdate));//日期类型的比较
System.out.println(edate.before(sdate));
运行结果:
true
false
当然时间类型的比较都可以使用毫秒值比较,在此不再详述
date.parse(str);//字符串转时间
str.format(date);//时间转字符串
1.3 date与Calendar之间的转化
由于Date 可以直接包装成Calendar使用可以使用
Calendar calendar=Calendar.getInstance();
calendar.setTime(new Date());
2 Calendar
日期类型的运算最好使用Calendar:
Calendar calendar=Calendar.getInstance();
calendar.setTime(new Date());
calendar.getTimeInMillis();//获取时间毫秒值
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//今天的日期
calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)+40);//让日期加40
System.out.println(calendar.get(Calendar.DATE));//加40之后的日期Top
System.out.println(calendar.get(Calendar.MONTH));
calendar.add(Calendar.DATE, 10);//让日期再+10
System.out.println(calendar.get(Calendar.DATE));//再加10之后的日期Top
System.out.println(calendar.get(Calendar.MONTH));
注意 Date 可以直接包装成Calendar使用(Calendar可以看成是date的加强版)
3 timestamp 时间戳类型
3.1 timestamp转成Date(有些项目直接使用pdm生成的entity,数据库时间类型使用的是timestamp,生成的实体也成了timestamp)
Timestamp timestamp = new Timestamp();
Date date = timestamp.getDate();
3.2 timestamp转成Calendar类型
Calendar instance = Calendar.getInstance();
instance.setTime(timestamp.getDate());