Date类

//1.创建日期对象
Date d = new Date();
System.out.println(d);
  
  
//2. 拿到时间戳
long time = d.getTime();
System.out.println(time);
  
  
//只获取时间戳推荐使用
//System.currentTimeMillis();
  
//3.把时间戳转为日期对象 
Date date = new Date(time);
long time1 = date.getTime();
System.out.println(time1);

  
//把时间对象的时间设置为当前时间的时间戳
xDate date1 = new Date();
date1.setTime(time);
System.out.println(date1.getTime());

SimpleDateFormat类

//SimpleDateFormat 用于格式化日期对象 变成想看到的日期格式 返回String类型
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = sdf.format(new Date());
System.out.println(format);


 String lastTime = "2023/05/07";
//字符串日期转换成Date日期对象
Date parse = sdf.parse(lastTime);
System.out.println(parse);

SimpleDateFormat存在的问题

/**
 *  目标:搞清楚为什么要用JDK 8开始新增的时间类。
 */
public class Test {
    public static void main(String[] args) {
        // 传统的时间类(Date、SimpleDateFormat、Calendar)存在如下问题:
        // 1、设计不合理,使用不方便,很多都被淘汰了。
        Date d = new Date();
        //System.out.println(d.getYear() + 1900);

        Calendar c = Calendar.getInstance();
        int year = c.get(Calendar.YEAR);
        System.out.println(year);

        // 2、都是可变对象,修改后会丢失最开始的时间信息。

        // 3、线程不安全。

        // 4、不能精确到纳秒,只能精确到毫秒。
        // 1秒 = 1000毫秒
        // 1毫秒 = 1000微妙
        // 1微妙 = 1000纳秒
    }
}
最后修改:2023 年 05 月 12 日
如果觉得我的文章对你有用,请随意赞赏