java时间

时间:2023-12-24 08:51:25

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