java date转毫秒数 java毫秒值转日期_java毫秒值转换成日期


接上一篇

Calendar 类的应用

Date 类最主要的作用就是获得当前时间,同时这个类里面也具有设置时间以及一些其他的功能,但是由于本身设计的问题,这些方法却遭到众多批评,不建议使用,更推荐使用 Calendar 类进行时间和日期的处理。

java.util.Calendar 类是一个抽象类,可以通过调用 getInstance() 静态方法获取一个 Calendar 对象,此对象已由当前日期时间初始化,即默认代表当前时间,如 Calendar c = Calendar.getInstance();

那么如何使用 Calendar 获取年、月、日、时间等信息呢?我们来看下面的代码:

Calendar c=Calendar.getInstance();//创建Calendar对象
 int year =c.get(Calendar.YEAR);//获取年
 int month=c.get(Calendar.MONTH)+1;//获取月份,0表示1月份
 int day=c.get(Calendar.DAY_OF_MONTH);//获取日期
 int hour=c.get(Calendar.HOUR_OF_DAY);//获取小时
 int minute=c.get(Calendar.MINUTE);//获取分钟
 int second=c.get(Calendar.SECOND);//获取秒
 System.out.println("当前时间:"+year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second);

//输出结果为:当前时间:2020-4-8 22:24:17

其中,调用 Calendar 类的 getInstance() 方法获取一个实例,然后通过调用 get() 方法获取日期时间信息,参数为需要获得的字段的值, Calendar.Year 等为 Calendar 类中定义的静态常量。

Calendar 类提供了 getTime() 方法,用来获取 Date 对象,完成 Calendar 和 Date 的转换,还可通过 getTimeInMillis() 方法,获取此 Calendar 的时间值,以毫秒为单位。如下所示:

Date date =c.getTime();//将Calendar对象转换为Date对象
 long time =c.getTimeInMillis();//获取当前毫秒数
 System.out.println("当前时间:"+date);
 System.out.println("当前毫秒数:"+time);

//输出结果:当前时间:Wed Apr 08 22:43:16 CST 2020当前毫秒数:1586356996825

练习

package third;
 import java.text.SimpleDateFormat;
 import java.util.Calendar;
 import java.util.Date;
 public class CALENDAR { 
 public static void main(String[] args) {
 Calendar c = Calendar.getInstance(); // 创建Calendar对象
 Date date = c.getTime();// 将Calendar对象转换为Date对象
 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 创建SimpleDateFormat对象,指定目标格式 
 String now = sdf.format(date);// 将日期转换为指定格式的字符串
 System.out.println("当前时间:" + now);
 }
 }