java日期笔记一

2023-12-25 21:21:06

? ? ? ?? ? ? ? java的日期是从1970年1月1日0时0分0秒开始计时的(GMT时间)(GMT时间比中国时间少8小时)

目录

jdk8之前(获取的时CST时间)

? ? ? ?1.Date类

? ? ? ? ? ? ? ? 1.创建方式:

????????????????2. from方法

????????2.SimpleDateFormat类

? ? ? ? ? ? ? ? 1.作用:

? ? ? ? ? ? ? ? 2.创建对象

? ? ? ? ? ? ? ? 4.format方法

? ? ? ? ? ? ? ? 5.parse方法

3.Calendar类

? ? ? ? 1.创建方法

? ? ? ? 2.get方法

? ? ? ? 3.set方法

? ? ? ? 4.add方法

? ? ? ? 5.getTime方法(Calendar-->Date)

? ? ? ? 6.setTime方法 (Date-->Calendar)

? ? ? ? 4.总结代码

????????????????1.Date与SimpleDatefomat

? ? ? ? ? ? ? ? 2.Calendar? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? 5.总结表格


jdk8之前(获取的时CST时间)

? ? ? ? 打印的时候只需要传递进去Date对象的名字即可,会自动调用toString方法,会打印出来星期,年月日时分秒,但是隐藏的毫秒不会打印出来。

? ? ? ?1.Date类

? ? ? ? ? ? ? ? 1.创建方式:

? ? ? ? ? ? ? ? ? ? ? ? 1.获取当前时间:

????????????????????????????????new Date();

? ? ? ? ? ? ? ? ? ? ? ? 2.根据毫秒数创建时间(从初始时间开始算起,经历过毫秒数时间的时间)

????????????????? ? ? ? ????????new Date(毫秒数);

? ? ? ? ? ? ? ? ? ? ? ? 3.通过格式化对象的parse方法来进行分析创建(示例在SimpleDateFormat里面)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 这个parse方法返回一个Date的结果,他的形参是个String类型的值,后面还会继续有他的存在

? ? ? ? ? ? ? ? ? ? ? ? 4.指定日期创建

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? new Date(年,月,日)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? new Date(年,月,日,时,分)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? new Date(年,月,日,时,分,秒)

? ? ? ? ? ? ? ? ? ? ? ? 如果在创建的时候年只写了个两位数,那么会默认加上个1900

? ? ? ? ? ? ? ? ? ? ? ? 月份不是直接填充一个月份,而是会按照数组下标的形式填充,假如你形参填写的0,那么实际上生成的是1月,如果你填写的数大于等于12了会产生进位,向“年”进位,具体进几还是要看你的月份是几

//获取当前时间
Date now  =  new Date();
    //在打印的时候直接打印日期变量就行了,因为会自动调用日期的toString变量
System.out.println("现在是使用Date直接创建出来的时间?? "+now);




//通过其他方式来创建Date对象(指定年月的时候会让年月从)
            //毫秒数创建
        Date current = new Date(1);
            //指定日期创建(日期创建的时候,需要注意两个问题一个是首先是年会自动加上1900,其次是月份是相当于一个数组,0月实际上代表的是一月,说白了就是个下标,但是当你写入的月份大于等于12的时候会产生进位给年)
        Date date = new Date(-12,11,2);
            //指定时分
        Date time = new Date(12,12,14,12,12);
            //指定时分秒
        Date second = new Date(12,11,12,12,12,12);
        SimpleDateFormat formatCreate = new SimpleDateFormat("yyyy年MM月dd日 HH点mm分ss秒 SSS毫秒");
        System.out.println("通过毫秒数创建时间   :"+formatCreate.format(current));
        System.out.println("通过指定日期创建时间  :"+formatCreate.format(date));
        System.out.println("通过指定时分秒创建时间:"+formatCreate.format(time));
        System.out.println("通过指定时分秒创建时间:"+formatCreate.format(second));

运行结果:?

现在是使用Date直接创建出来的时间?? ?Sat Dec 23 10:50:20 CST 2023
通过毫秒数创建时间 ? :1970年01月01日 08点00分00秒 001毫秒
通过指定日期创建时间 ?:1888年12月02日 00点00分00秒 000毫秒
通过指定时分秒创建时间:1913年01月14日 12点12分00秒 000毫秒
通过指定时分秒创建时间:1912年12月12日 12点12分12秒 000毫秒

????????????????2. from方法

? ? ? ? ? ? ? ? ? ? ? ? 作用:这个方法会把一个jdk8中利用Instant创建的日期转化成Date的日期

????????????????????????性质:是一个静态方法

? ? ? ? ? ? ? ? ? ? ? ? 返回值:返回值是一个Date对象

? ? ? ? ? ? ? ? ? ? ? ? 形式参数:在使用这个方法的时候需要注意的是,形式参数是一个Instant对象

????????????????????????用法:Date a = Date.from(Instant对象名);

Instant a = Instant.now();
Date dateFromA = Date.from(a);
System.out.println(dateFromA);

????????2.SimpleDateFormat类

? ? ? ? ? ? ? ? 1.作用:

? ? ? ? ? ? ? ? ? ? ? ? 根据指定定格式(形参里面的格式),来把Date的数据进行格式化、

? ? ? ? ? ? ? ? 2.创建对象

? ? ? ? ? ? ? ? ? ? ? ? SimpleDateFormat a = new SimpleDateFormat("yyyy-MM-ddd HH:mm:ss SSS);

? ? ? ? ? ? ? ? ? ? ? ? 在格式化的格式里面,年月日...这些不同标识之间的效果,可以用其他任意符号

Date nowTime = new Date();
SimpleDateFormat formatNowTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
SimpleDateFormat formatNowTime1 = new SimpleDateFormat("yyyy年MM月dd日 HH点mm分ss秒 SSS毫秒");
System.out.println("现在是使用SimpleDateFormat对刚才创建出来的时间进行格式化:"+"\n\t第一种格式,用-间隔开:"+formatNowTime.format(nowTime)+"\n\t第一种格式,用汉字间隔开:"+formatNowTime1.format(nowTime));

运行结果:

?现在是使用SimpleDateFormat对刚才创建出来的时间进行格式化:
? ? ?第一种格式,用-间隔开:2023-12-23 10:50:20 451
? ? ?第一种格式,用汉字间隔开:2023年12月23日 10点50分20秒 451毫秒

字母表示的含义
y

M?

w年里面的周数
W月里面的周数
D年中的天数
d月中的天数
F

月中的星期

E星期几
H

几点(0~23)

k几点(1~24)
ham/pm里的小时数(1~12)
K

am/pm里的小时数(0~11)

m

分钟数

s秒数
S毫秒数
aam/pm标记

? ? ? ? ? ? ? ? 4.format方法

? ? ? ? ? ? ? ? ? ? ? ? 1.作用:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 把Date对象格式化(转化成某种格式)

? ? ? ? ? ? ? ? ? ? ? ? 2.返回值:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? String类型的数据

? ? ? ? ? ? ? ? ? ? ? ? 3.形参:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Date对象

? ? ? ? ? ? ? ? ? ? ? ? 4.用法:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? String a = SimpleDateFormat对象.format(Date对象);

? ? ? ? ? ? ? ? 5.parse方法

? ? ? ? ? ? ? ? ? ? ? ? 1.作用

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 把一个字符串按照某种格式转化成一个Date对象

? ? ? ? ? ? ? ? ? ? ? ? 2.限定条件:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 被转化的字符串必须要和格式化的格式相同

? ? ? ? ? ? ? ? ? ? ? ? 3.异常:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? parse方法在使用的时候会抛出一个ParseException异常,属于一个编译时异常,要进行预处理,使用try{}catch{}进行异常的捕捉

? ? ? ? ? ? ? ? ? ? ? ? 4.形式参数类型:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 形式参数是一个String类型的数据

? ? ? ? ? ? ? ? ? ? ? ? 5.返回值类型:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 返回值是一个Date对象

????????????????????????6.用法

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? try{

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Date a = SimpleDateFormat对象.parse(String类型待转化字符串);

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }catch(ParseException e){

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?e.printStackTrace;

????????????????????????????????}

String stringToDate ="2023-12-05 14:41:01 366";
SimpleDateFormat formatStringToDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");//用于接受字符串
SimpleDateFormat otherFormat = new SimpleDateFormat("yyyy年MM月dd日HH点mm分ss秒SSS毫秒");//用于格式化成为我想要的样子
try{
    Date resultDate = formatStringToDate.parse(stringToDate);
    System.out.println("通过字符串创建的格式化日期:\t"+otherFormat.format(resultDate));
}catch(ParseException e ){
    e.printStackTrace();
}

运行结果:

?????????通过字符串创建的格式化日期:?? ?2023年12月05日14点41分01秒366毫秒

3.Calendar类

? ? ? ? 1.创建方法

? ? ? ? ? ? ? ? 虽然Calendar是一个抽象方法无法直接new一个对象,但是可以通过使用getInstance()来获取一个Calendar的实例,里面的时间是当前系统时间。

? ? ? ? ? ? ? ? eg:Calendar now = Calendar.getInstance();

? ? ? ? ? ? ? ? getInstance是一个静态方法,与Calendar类相关

? ? ? ? 2.get方法

????????????????作用:获取Calendar实例当中某些信息

? ? ? ? ? ? ? ? 性质:非静态方法

? ? ? ? ? ? ? ? 形参:枚举类型。(Calendar.YEAR? ? ? ? Calendar.MONTH? ? ? ? Calendar.DATE)等

形参在这里的作用就是通知这个方法,程序员要获取的是哪些信息

? ? ? ? ? ? ? ? 返回值:就是要获得的信息的类型

? ? ? ? ? ? ? ? 注意:这里获取到的月,和在Date中直接指定日期创建的时候一样0,代表1月,而且日期,月之类的还会产生进位

Calendar date = Calendar.getInstance();
//获取到当前的年月日,通过Calendar的get方法,把枚举对象传入进去即可获得对应枚举对象的结果,意思是告诉程序我要获取的到底是年还是月还是日,枚举对象是static的
int year = date.get(Calendar.YEAR);
int month = date.get(Calendar.MONTH);
int day = date.get(Calendar.DATE);
System.out.println("通过get方法获取到今天是"+year+"年"+(month+1)+"月"+day+"日");//由于说了MONTH获取到的是从0开始技术的,所以这个month比实际的月份小1,要打印真实月份一定要加一

? ? ? ? 3.set方法

? ? ? ? ? ? ? ? 1.作用:给Calendar实例中的某个具体信息进行赋值(覆盖原有的值)

????????????????2.性质:非静态方法

? ? ? ? ? ? ? ? 3.形参:

????????????????????????set方法里面的参数一般采用键值对的形式:(要设置的内容,设置成为的值)

????????????????????????set方法的参数还可以直接使用(年,月,日)

????????????????4.没有返回值

????????????????注意:设置年月日,这里的年就是你输入的年,不加那个1900了,月和刚才一样也是从0开始计数的

Calendar setDate = Calendar.getInstance();
setDate.set(Calendar.YEAR,2004);
setDate.set(Calendar.MONTH,3);
setDate.set(Calendar.DAY_OF_MONTH,30);
int year1 = setDate.get(Calendar.YEAR);
int month1 = setDate.get(Calendar.MONTH);
int day1 = setDate.get(Calendar.DATE);
System.out.println("通过set方法设置出生日期:"+year1+"年"+(month1+1)+"月"+day1+"日");

? ? ? ? 4.add方法

? ? ? ? ? ? ? ? 1.作用:利用已有时间计算下一个时间 并且进行更改,具体来讲就是通过某一项日期信息,让其与给定的数值做加法然后把结果作为新的日期信息

? ? ? ? ? ? ? ? 2.性质:非静态方法

? ? ? ? ? ? ? ? 3.形参:?add方法采用键值对的形式:(要设置的内容,要加的值)

? ? ? ? ? ? ? ? 4.返回值:没有返回值

Calendar now = Calendar.getInstance();
Date nowFromCalendar;
now.add(Calendar.YEAR,-19);
now.add(Calendar.MONTH,-8);
now.add(Calendar.DAY_OF_MONTH,7);
nowFromCalendar = now.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH点mm分ss秒 SSS毫秒");//格式化一下看的比较清晰
System.out.println("通过add方法,利用现在的时间计算我的出生日期,并且转化成为Date对象并进行格式化的结果为:"+sdf.format(nowFromCalendar));

? ? ? ? 5.getTime方法(Calendar-->Date)

? ? ? ? ? ? ? ? 1.作用:Calendar-->Date

? ? ? ? ? ? ? ? 2.性质:非静态方法

? ? ? ? ? ? ? ? 3.形参:不需要形参

? ? ? ? ? ? ? ? 4.返回值:返回一个Date对象

Calendar setDate = Calendar.getInstance();
Date a = setDate.getTime();//在从日历转Date的时候,没设置的量会自动按照当前系统时间进行转化(在这里就是时分秒)
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH点mm分ss秒 SSS毫秒");//格式化一下看的比较清晰
System.out.println("通过Calendar-->Date获取到的日期如下");
System.out.println("\t通过getTime方法得到Date效果下的现在的时间:"+sdf.format(a));

? ? ? ? 6.setTime方法 (Date-->Calendar)

????????????????1.作用:Date-->Calendar

? ? ? ? ? ? ? ? 2.性质:非静态方法

? ? ? ? ? ? ? ? 3.形参:Date类型的一个时间

? ? ? ? ? ? ? ? 4.返回值:没有返回值

Date a = new Date(104,3,30);
Calendar setDayFromDate = Calendar.getInstance();
setDayFromDate.setTime(a);
int year2 = setDayFromDate.get(Calendar.YEAR);
int month2 = setDayFromDate.get(Calendar.MONTH);
int day2 = setDayFromDate.get(Calendar.DATE);
System.out.println("通过Date-->Calendar获取到的日期\n\t通过setTime方法得到的Calendar效果下的出生日期:"+year2+"年"+(month2+1)+"月"+day2+"日");

? ? ? ? 4.总结代码

????????????????1.Date与SimpleDatefomat

public class Common {
    public static void main(String[] args) {
        //java中的时间计算方法:是利用毫秒来计时的,是一个long类型的数据,从GMT时间的1970年一月一日0时0分0秒0毫秒开始计时的;
            //使用System.currentTimeMillis()方法来获取现在的毫秒数
        long nowCurrentTime = System.currentTimeMillis();
        System.out.println("现在的毫秒数:"+nowCurrentTime);
            //通过毫秒数来获取时间,
        Date nowCurrenTimeCreatDate = new Date(nowCurrentTime);
        Date timeBegin = new Date(0);
        Date lastYear = new Date(nowCurrentTime-365*60*24*60*1000l);//需要注意,这个毫秒数超过了int的范围,所以要转化一下其中一个数,让其成为long类型,虽然在进行毫秒数填入的时候会强制转换成long类型但是在我先进行计算的时候会按照int进行计算已经超过范围了会先进行截断然后才会进行自动类型转换
        SimpleDateFormat formatTimeCurrent = new SimpleDateFormat("yyyy年MM月dd日 HH点mm分ss秒 SSS毫秒");
        SimpleDateFormat formatTimeBegin = new SimpleDateFormat("yyyy年MM月dd日 HH点mm分ss秒 SSS毫秒");
        SimpleDateFormat formatLastYear = new SimpleDateFormat("yyyy年MM月dd日 HH点mm分ss秒 SSS毫秒");
        System.out.println("通过现在的毫秒数创建的时间:"+formatTimeCurrent.format(nowCurrenTimeCreatDate));
        System.out.println("java日期的起始记数时间:"+formatTimeBegin.format(timeBegin));//打印的结果和预估差八小时的原因是,打印出来的时CST的时间,但是计时是按照GMT来进行计时的,这里进行了转换
        System.out.println("去年的现在:"+formatLastYear.format(lastYear));



        //直接使用Date创建对象需要new出来一个日期,这样会获取n到当前的时间,
            //在打印Date类型的时候会默认调用它的toString方法

        Date nowTime = new Date();
        System.out.println("现在是使用Date直接创建出来的时间\t"+nowTime);
        //通过其他方式来创建Date对象(指定年月的时候会让年月从)
            //毫秒数创建
        Date current = new Date(1);
            //指定日期创建(日期创建的时候,需要注意两个问题一个是首先是年会自动加上1900,其次是月份是相当于一个数组,0月实际上代表的是一月,说白了就是个下标,但是当你写入的月份大于等于12的时候会产生进位给年)
        Date date = new Date(-12,11,2);
            //指定时分
        Date time = new Date(12,12,14,12,12);
            //指定时分秒
        Date second = new Date(12,11,12,12,12,12);
        SimpleDateFormat formatCreate = new SimpleDateFormat("yyyy年MM月dd日 HH点mm分ss秒 SSS毫秒");
        System.out.println("通过毫秒数创建时间   :"+formatCreate.format(current));
        System.out.println("通过指定日期创建时间  :"+formatCreate.format(date));
        System.out.println("通过指定时分秒创建时间:"+formatCreate.format(time));
        System.out.println("通过指定时分秒创建时间:"+formatCreate.format(second));


        //对于Date创建出来的时间进行格式化:
            //new SimpleDateFormat(【里面存放格式】);
            //format()方法返回的是一个String类型的值
        SimpleDateFormat formatNowTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
        SimpleDateFormat formatNowTime1 = new SimpleDateFormat("yyyy年MM月dd日 HH点mm分ss秒 SSS毫秒");
        System.out.println("现在是使用SimpleDateFormat对刚才创建出来的时间进行格式化:"+"\n\t第一种格式,用-间隔开:"+formatNowTime.format(nowTime)+"\n\t第一种格式,用汉字间隔开:"+formatNowTime1.format(nowTime));


        //字符串转日期:
            //通过格式化类进行字符串到日期的转化
            //限定条件:字符串的格式必须要和格式化的格式相同
            //通过格式化对象调用parse方法,parse的汉语翻译是对语法进行分析,并且返回一个Date类型的对象
        String stringToDate ="2023-12-05 14:41:01 366";
        SimpleDateFormat formatStringToDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");//用于接受字符串
        SimpleDateFormat otherFormat = new SimpleDateFormat("yyyy年MM月dd日HH点mm分ss秒SSS毫秒");//用于格式化成为我想要的样子
        try{
            Date resultDate = formatStringToDate.parse(stringToDate);
            System.out.println("通过字符串创建的格式化日期:\t"+otherFormat.format(resultDate));
        }catch(ParseException e ){
            e.printStackTrace();
        }

        //应用:统计执行时间长度:
        long currenttime = System.currentTimeMillis();
        int sum = 0;
        int x = 0;
        for(int i = 0; i<1000;i++){
            //System.out.println(i);//有这句的话打印结果不是0,如果没有的话执行结果是0,因为循环不需要时间
        }
        long currenttime2 = System.currentTimeMillis();
        System.out.println("程序执行时间:"+(currenttime2-currenttime));
    }

? ? ? ? ? ? ? ? 2.Calendar
? ? ? ? ? ? ? ? ? ? ? ? ?

public class Run {
    public static void main(String[] args) {
        //Calendar是个抽象类,无法直接new对象,但是可以通过getInstance方法来获取一个Calendar的实例
            //Calendar的枚举常量当中MONTH和Date的时候设置的一样,都是0为一月,而且都是会自动进位
        Calendar date = Calendar.getInstance();
        //获取到当前的年月日,通过Calendar的get方法,把枚举对象传入进去即可获得对应枚举对象的结果,意思是告诉程序我要获取的到底是年还是月还是日,枚举对象是static的
        int year = date.get(Calendar.YEAR);
        int month = date.get(Calendar.MONTH);
        int day = date.get(Calendar.DATE);
        System.out.println("通过get方法获取到今天是"+year+"年"+(month+1)+"月"+day+"日");//由于说了MONTH获取到的是从0开始技术的,所以这个month比实际的月份小1,要打印真实月份一定要加一

        //设置年月日,这里的年就是你输入的年,不加那个1900了
            //直接使用set方法
            //set方法里面的参数一般采用键值对的形式:(要设置的内容,设置成为的值)
            //set方法的参数还可以直接使用(年,月,日)
        Calendar setDate = Calendar.getInstance();
        setDate.set(Calendar.YEAR,2004);
        setDate.set(Calendar.MONTH,3);
        setDate.set(Calendar.DAY_OF_MONTH,30);
        int year1 = setDate.get(Calendar.YEAR);
        int month1 = setDate.get(Calendar.MONTH);
        int day1 = setDate.get(Calendar.DATE);
        System.out.println("通过set方法设置出生日期:"+year1+"年"+(month1+1)+"月"+day1+"日");

        //Calendar-->Date与Date转Calendar,
            //两者都调用Calendar实例的方法,前者调用getTime(),后者调用setTime(Date对象)
            //Calendar-->Date
        Date a = setDate.getTime();//在从日历转Date的时候,没设置的量会自动按照当前系统时间进行转化(在这里就是时分秒)
        Date b = date.getTime();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH点mm分ss秒 SSS毫秒");//格式化一下看的比较清晰
        System.out.println("通过Calendar-->Date获取到的日期如下");
        System.out.println("\t通过getTime方法得到Date效果下的出生的时间:"+sdf.format(a));
        System.out.println("\t通过getTime方法得到Date效果下的现在的时间:"+sdf.format(b));
            //Date-->Calendar
        Calendar setDayFromDate = Calendar.getInstance();
        setDayFromDate.setTime(a);
        int year2 = setDayFromDate.get(Calendar.YEAR);
        int month2 = setDayFromDate.get(Calendar.MONTH);
        int day2 = setDayFromDate.get(Calendar.DATE);
        System.out.println("通过Date-->Calendar获取到的日期\n\t通过setTime方法得到的Calendar效果下的出生日期:"+year2+"年"+(month2+1)+"月"+day2+"日");

        //add方法
            //和set方法类似,不过add是在原有基础上进行加减,而set是覆盖设置
            //在这里我获取一下现在的时间,然后年-19,月-8,日+7就可以得到我的出生日期
        Calendar now = Calendar.getInstance();
        Date nowFromCalendar;
        now.add(Calendar.YEAR,-19);
        now.add(Calendar.MONTH,-8);
        now.add(Calendar.DAY_OF_MONTH,7);
        nowFromCalendar = now.getTime();
        System.out.println("通过add方法,利用现在的时间计算我的出生日期,并且转化成为Date对象并进行格式化的结果为:"+sdf.format(nowFromCalendar));

    }
}

? ? ? ? 5.总结表格

? ? ? ? ? ? ? ? 在这里首先有几个变量如下

Date date = new Date();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH点mm分ss秒 SSS毫秒");

Calendar rili = Calendar.getInstance

Instant instant = Instant.now();

StringDate =?"2004年04月30日 17点37分00秒 000毫秒"

方法名所属类性质形参返回值例子
fromDate静态Instant对象Date对象Date a = Date.from(instant);
currentTimeMillisSystem静态longlong a = System.currentTimeMillis();
getInstanceCalendar静态日历实例Calendar a = Calendar.getInstance();
getCalendar非静态枚举常量与信息相关int year = rili.get(Calendar.YEAR);
setCalendar非静态键值对

rili.set(Calendar.YEAR,2004);

年月日rili.set(2004,3,30);
addCalendar非静态键值对

rili.add(Calendar.YEAR,-1);

getTimeCalendar非静态Date对象

Date a = rili.getTime();

setTimeCalendar非静态Date对象rili.set(date);
formatSimpleDateFormat非静态Date对象String类型String a = sdf.format(date);
parseSimpleDateFormat非静态String类型Date对象Date a = sdf.parse(strDate);

文章来源:https://blog.csdn.net/zjh20040430/article/details/135159089
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。