java时间
Calendar.getInstance().getTime() 获取当前时间(包括星期和时区 CST China Standard Time): Fri Jan 06 21:03:36 CST 2017
Calendar cal = Calendar.getInstance();
完整显示今天当前的日期和时间:
第一种方法:
DateFormat fmtDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(fmtDateTime.format(new Date()));
输出:2017-01-06 21:19:02
第二种方法:
cal.setTime(new Date()) ;
System.out.println( fmtDateTime.format(cal.getTime()) );
输出:2017-01-06 23:41:00
显示年份:
Calendar cal = Calendar.getInstance();
System.out.println(cal.get(Calendar.YEAR));
输出: 2017
显示月份:从0开始,要加1
System.out.println(cal.get(Calendar.MONTH) + 1);
cal.get(Calendar.MINUTE) 或者 cal.get(Calendar.HOUR_OF_DAY) 输出的是 int 类型。
一小时后:
第一种方法:
System.out.println(cal.get(Calendar.HOUR_OF_DAY)+1);
第二种方法:改变了 HOUR_OF_DAY 的值:
cal.add(Calendar.HOUR_OF_DAY, 1);
System.out.println(cal.get(Calendar.HOUR_OF_DAY));
6分钟前,(如果当前时间是2017-01-06 23:32:39):
第一种方法:
System.out.println(cal.get(Calendar.MINUTE) - 6);
第二种方法:
cal.add(Calendar.MINUTE, -6);
int minute = cal.get(Calendar.MINUTE);
System.out.println(minute);
输出的都是:26
String time1 = fmtDateTime.format(cal.getTime());
System.out.println(time1);
输出: 2017-01-06 23:26:39
比较两个时间:
Calendar cal = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal2.add(Calendar.HOUR, 7); //第二个时间在7小时之后
System.out.println( cal.compareTo(cal2)); //cal 比 cal2 小,输出 -1 。
计算两个时间差:
long min = cal2.getTimeInMillis() - cal.getTimeInMillis(); //微妙
long diffHour = min / (1000 * 60 * 60); //换算成小时
System.out.println(diffHour); //输出 7