JDK8之前日期时间

1.java.lang.System类

System类提供的public static long currentTimeMillis()用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。此方法适用于计算时间差。

2.java.util.Date

表示特定的瞬间,精确到毫秒

构造器:

  Date(): 使用无参构造器创建的对象可以获取本地当前时间。

  Date(long date)

常用方法:

 

getTime():返回自1970 年1 月1 日00:00:00 GMT 以来此Date 对象
表示的毫秒数。
toString():把此Date 对象转换为以下形式的String:dow mon dd
hh:mm:ss zzz yyyy 其中:dow 是一周中的某一天(Sun, Mon, Tue, 
Wed, Thu, Fri, Sat),zzz是时间标准。

 

3.java.text.SimpleDateFormat类

Date类的API不易于国际化,大部分被废弃了,java.text.SimpleDateFormat类是一个不与语言环境有关的方式来格式化和解析日期的具体类。

格式化:
SimpleDateFormat() :默认的模式和语言环境创建对象
public SimpleDateFormat(String pattern):该构造方法可以用参数pattern指定的格式创建一个对象,该对象调用:
public String format(Date date):方法格式化时间对象date

解析:
public Date parse(String source):从给定字符串的开始解析文本,以生成一个日期。

代码演示:

     Date dateOne = new Date();
        SimpleDateFormat sft = new SimpleDateFormat("yyyy-mm-dd E  HH:mm:ss");
        
        String format = sft.format(dateOne);//日期转字符串
        try {
            Date parse = sft.parse(format);//字符串转日期
            System.out.println(parse);
        } catch (ParseException e) {
            e.printStackTrace();
        }

 

4.java.util.Calendar(日历)类

Calenddar是一个抽象类,主要用于完成日期字段之间相互操作的功能。

获取Calendar实列方法

  使用Calendar.getInstance()方法

  调用它的子类GregorianCalendar的构造器。

一个Calendar的实列是系统时间的抽象表示,通过get(int field)方法来取得想要的时间信息。

代码演示:

     //实列化的方式一:
        Calendar instance = Calendar.getInstance();
        //实列化的方式二:
        GregorianCalendar currentTime = new GregorianCalendar();
        
        System.out.println(currentTime.get(Calendar.YEAR));//
        System.out.println(currentTime.get(Calendar.MONTH)+1);//
        System.out.println(currentTime.get(Calendar.DATE));//
        System.out.println(currentTime.get(Calendar.DAY_OF_WEEK)-1);//
        System.out.println(currentTime.get(Calendar.HOUR_OF_DAY));//小时
        System.out.println(currentTime.get(Calendar.MINUTE));//分钟
        System.out.println(currentTime.get(Calendar.SECOND));//
        currentTime.add(Calendar.YEAR, 1);//对年的增加
        currentTime.add(Calendar.DATE,10);//对日的增加
        currentTime.add(Calendar.DATE,-2);//对日的减去
        currentTime.set(Calendar.YEAR,1999);//设置年
        
        
        Date date = currentTime.getTime();//日历类转时间类
        System.out.println(date);
        currentTime.set(Calendar.YEAR,1998);//设置年
        currentTime.setTime(currentTime.getTime());//设置时间
        System.out.println(currentTime.getTime());

 

注意:
获取月份时:一月是0,二月是1,以此类推,12月是11
获取星期时:周日是1,周二是2 ,以此类推,周六是7

 

posted @ 2021-03-04 10:15  不会掉头发的程序猿  阅读(112)  评论(0)    收藏  举报