一、使用Date类
//获取时间对象
Date date = new Date();
System.out.println(date);
运行结果:
Wed Mar 20 11:50:49 CST 2024
从运行结果可以看出这并不是我们所熟知的时间格式,所以必须把时间格式化
//时间格式化
SimpleDateFormat df =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = df.format(date);
System.out.println("格式化后的时间为 "+time);
运行结果为:
Wed Mar 20 12:09:40 CST 2024
格式化后的时间为 2024-03-20 12:09:40
从运行结果可以看出时间格式发生了变化
二、使用Calendar类
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。
//创建Calendar类对象
Calendar cal = Calendar.getInstance();
SimpleDateFormat df =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = df.format(cal.getTime());
System.out.println("使用Calendar类获取时间为: "+time);
运行结果:
使用Calendar类获取时间为: 2024-03-20 12:34:22
除此之外,Calendar类还可以获取当前时间的各个字段
int year = cal.get(Calendar.YEAR);
//因为MONTH是从0开始,所以要加1
int month = cal.get(Calendar.MONTH)+1;
int day = cal.get(Calendar.DAY_OF_MONTH);
int hour = cal.get(Calendar.HOUR_OF_DAY);
int minute = cal.get(Calendar.MINUTE);
int second = cal.get(Calendar.SECOND);
//把各个字段拼接起来
String time = year + "-"+ month + "-" + day + " " +hour + ":" +minute + ":" + second;
System.out.println("当前时间为: "+time);
运行结果:
当前时间为: 2024-3-20 13:25:20
你学废了吗?