java.util包中提供的和日期时间相关的类有Date类、Calendar类和SimpleDateFormat类等。
方法一:new Date()
Date类对象用来表示日期和时间,该类提供了一系列操作日期和时间各组成部分的方法,Date类中使用最多的是获取系统当前的日期和时间,
如 Date date=new Date();这句代码是使用当前时间创建日期对象
示例代码如下:
public static void main(String[] args) {
//使用Date创建日期对象
Date date=new Date();
System.out.println("当前的日期是------>"+date);
}
控制台输入的结果:
当前的日期是------>Fri Nov 30 19:40:37 CST 2018
但是我们看到,输出的结果是格林威治时间格式,和我们平常看到的不一样,对于这种时间格式我们可以使用格式化时间日期类----SimpleDateFormat来格式化成我们想要的时间,具体实现代码如下:
public static void main(String[] args) {
//使用Date创建日期对象
Date date=new Date();
System.out.println("当前的日期是------>"+date);
/**
* 创建格式化时间日期类
*构造入参String类型就是我们想要转换成的时间形式
*/
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("格式化后的时间------->"+format.format(date));
}
控制台输出的结果
当前的日期是------>Fri Nov 30 20:01:15 CST 2018
格式化后的时间------->2018-11-30 20:01:15
方法二: Calendar.getInstance()
Calendar类也是用来操作日期和时间的类,它可以看作是Date类的一个增强版,Calendar类提供了一组方法,允许氢一个以毫秒为单位的时间转换成年、月、日、时、分、秒。可以把Calendar类当作是万年历,默认显示的是当前时间,当然也可以查看其他时间。
示例代码如下:
//创建Calendar对象
Calendar cal=Calendar.getInstance();
//用Calendar类提供的方法获取年、月、日、时、分、秒
int year =cal.get(Calendar.YEAR); //年
int month =cal.get(Calendar.MONTH)+1; //月 默认是从0开始 即1月获取到的是0
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 date=year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second;
System.out.println("当前时间是---->"+date);
运行后控制台的结果
当前时间是---->2018-11-30 20:12:30
方法三:System.currentTimeMillis()
long now=System.currentTimeMillis(); //获取出来的是当前时间的毫秒值
//把毫秒值转换成时间格式
Date d=new Date();
d.setTime(now);
/**
* 创建格式化时间日期类
*构造入参String类型就是我们想要转换成的时间形式
*/
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("格式化后的时间------->"+format.format(d));
运行后控制台的结果
格式化后的时间------->2018-11-30 20:15:31