Java

一、System类

1.所属的包java.lang包 不需要导入
 2.不需要创建对象  通过类名就可以访问
 3.有三个属性及若干的方法
  三个属性out   in   err
  方法gc()  exit(0);  currentTimeMillis();

public class TestDate {
        public static void main(String[] args){
            //返回当前系统时间与计算机元年之间的毫秒差
            //1970-1-1  00:80:00
            long time = System.currentTimeMillis();
            System.out.println(time);
        //可用来计算循环的时间
        }
}

二、Date类

java.lang.Object

  java.util.Date

 1.通常使用的是java.util包
 2.导包后拿来使用 ,需要构建对象
 3.通常使用无参数的构造方法或者带long构造方法
 4.Date类中常用的方法
    before();  after();
    setTime()  getTime();----->long
    compareTo();   -1  1  0
 5.可以处理一个Date日期的格式

import java.util.Date;

public class TestDate {
        public static void main(String[] args){
            //返回当前系统时间与计算机元年之间的毫秒差
            //1970-1-1  00:80:00
            long time = System.currentTimeMillis();
            System.out.println(time);
            //1562853912201
            //Date输出的时间格式是格林威治格式的时间
            Date date1 = new Date(1562853912201L);//输出与计算机元年相隔Long毫秒的格林威治格式的时间
            Date date2 = new Date();//输出运行此行代码的格林威治格式的时间
            System.out.println("date1 :"+date1);
            System.out.println("date2 :"+date2);

            boolean a = date1.after(date2);//判断date1 是否在date2 之后
            boolean b = date1.before(date2);//判断date1 是否在date2 之前
            System.out.println(a);
            System.out.println(b);

            date1.setTime(1562854624843L);//更改date1的时间
            System.out.println("改变后的date1:"+date1);
            long date1New = date1.getTime();//获取date1的时间  毫秒值
            System.out.println("date1为:"+ date1New);

            int c = date1.compareTo(date2);//按照索引顺序比较  -1表示调用在前参数在后  1刚好相反
            System.out.println(c);
        }
}
输出结果:
1562855208934
date1 :Thu Jul 11 22:05:12 CST 2019
date2 :Thu Jul 11 22:26:48 CST 2019
false
true
改变后的date1:Thu Jul 11 22:17:04 CST 2019
date1为:1562854624843
-1

三、DateFormat类

java.lang.Object

  java.text.Format

    java.text.DateFormat

1.包java.text,需要导包使用
 2.此类是一个抽象类,不能创建对象 ,需要通过子类来使用
 3.SimpleDateFormat类是DateFormat的子类
 4.调用带String参数的构造方法创建format对象
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
          String v = sdf.format(date1);//通过sdf对象将date1格式化成你描述的样子

import java.text.SimpleDateFormat;
import java.util.Date;

public class TestDate {
        public static void main(String[] args){
            Date date1 = new Date();
            System.out.println(date1);
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd  HH:mm:ss");//描述需要的时间格式
            String sdf = simpleDateFormat.format(date1);//通过sdf对象将date1格式化成你描述的样子
            System.out.println(sdf);
        }
}
输出结果
Thu Jul 11 22:42:58 CST 2019
2019-07-11  22:42:58

四、Calendar

java.lang.Object

  java.util.Calendar

1.所属的包java.util  需要导包
 2.有构造方法 ,但是是用protected修饰的,通常访问不到 ,所以我们通常会调用默认的getInstance();
 3.常用方法
    after()  before()
    setTime()  getTime()---->Date
    getTimeInMillis()----time
    getTimeZone()---TimeZone
  Calendar里面包含一个date属性  可以操作date的某一个局部信息

    set   get
    calendar.set(Calendar.YEAR,2015);
          int year = calendar.get(Calendar.YEAR);

import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;

public class TestDate {
        public static void main(String[] args){

            Calendar calendar = Calendar.getInstance();//可以构建一个系统当前时间的calendar对象
            //可以理解为calendar中包含一个date
            int year = calendar.get(Calendar.YEAR);//直接操作  类.属性 获取年月日等
            int month = calendar.get(Calendar.MONTH);//从0开始数  7 月 显示6
            int day = calendar.get(Calendar.DAY_OF_MONTH);
            System.out.println(year+"--"+month+"--"+day);

            Date date = new Date();
            System.out.println(date);//date创建时的格林威治格式的时间
            System.out.println(date.getTime());//date创建时距计算机元年的时间

            calendar.set(Calendar.YEAR,2015);//将年份改为2015年
            System.out.println(calendar.getTime());
            calendar.setTime(date);//将calendar创建的时间改为date创建的时间
            System.out.println(calendar.getTime());
            TimeZone tz = calendar.getTimeZone();//获取时区
            System.out.println(tz.getID());//时区的
            System.out.println(tz.getDisplayName());//时区的名字

        }
}
输出结果:
2019--6--11
Thu Jul 11 23:15:54 CST 2019
1562858154154
Sat Jul 11 23:15:54 CST 2015
Thu Jul 11 23:15:54 CST 2019
Asia/Shanghai
中国标准时间
原文地址:https://www.cnblogs.com/yyanghang/p/11173465.html