JAVA学习-Date类,SimpleDateFormate类,Calendar类

感言

慢慢的学会了好多,感觉自己也在不断的成长

小节 Date类

1、Date类就是和时间有关,类型一般是long

2、代码总结展示



import java.util.Date;

public class DateMe1 {
    public static void main(String[] args) {
        Date date1 = new Date();
        Date date2 = new Date(6000L);

        /*
        Thu Jan 01 08:00:06 CST 1970
        Sun Oct 17 15:00:21 CST 2021
        第一个是Date方法的有参 构造方法调用的对象这里给了它一个6000L 毫秒的值
        调用出来的方式就是在时间原点上面加上6000毫秒, 中国所在地区的时间是东八区,所以要加上8个小时
         */

        System.out.println(date2);
        System.out.println(date1);

        System.out.println("=================我是分割线=================");


        System.out.println(date2.toLocaleString());
        System.out.println(date1.toLocaleString());
        System.out.println("=================我是分割线=================");

        System.out.println(date2.getTime());
        System.out.println(date1.getTime());

        System.out.println("=================我是分割线=================");
        System.out.println(date1.toString());//打印对象的时候,默认是调用toString方法的


        /*
        总结一下:这里的Date类
        1、如果创建对象的时候使用的是无参构造方法创建的,那么如果直接打印该对象的话,那么输出的就是用外文方法输出现在的系统时间
        2、如果创建的是有参的构造方法,参数是long time,那么如果直接打印该对象的话,那么输出的就是用外文方法输出时间原点发生输出参数之后的时间
        3、如果是输出调用了无参toLocalString的方法那么,打印的就是用中文的方式输出现在的时间
        4、如果是输出调用了有参toLocalString的方法那么,打印的就是用中文的方式输出时间原点发生了的有参时间
        5、如果是输出调用了无参getTime的方法那么,打印的就是用中文的方式输出现在的时间毫秒值
        6、如果是输出调用了有参getTime的方法那么,打印的就是用中文的方式输出时间原点发生了的有参时间的毫秒值,一般就是你输出的那个毫秒时间
         */
    }
}

小节 DateFormate类和SimpleDateFormate类

1、这里就是使用formate方法和parse方法去将对象在Date和String的类型里面转换,注意DateFormate类是一个抽象类,是没有办法直接创建对象类使用的,SimpleDateFormate类是一个带参数的狗仔方法,里面一般是使用固定的格式来限定输出Formate方法的时候的格式的

2、代码总结展示



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

public class FormateMe {
    /*
    DateFormate类是一个抽象类,需要子类SimpleDateFormate类去实现
    1、创建对象必须要在方法中创建,然后使用
    2、SimpleDateFormate类在实例化对象的时候要注意这个构造方法是带参数的,是要指定 一个格式去创建
    3、formate方法是用来转换字符串的方法的,一般是String类型的,创建的使用带入一个Date类型的参数,然后是用打印输出可以输出具体的日期时间
    4、parse方法是将字符串类型转换为Date类型的

     */
    public static void main(String[] args) throws ParseException {
        Date date1 = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时间mm分ss秒");
        String formate22 = sdf.format(date1);
        System.out.println(formate22);

        Date parse22 = sdf.parse(formate22);//注意这里在使用的时候会发生有一个异常,这里一般是先直接抛出的


        System.out.println("=================我是分割线=================");
        System.out.println(parse22);
        System.out.println("=================我是分割线=================");
        System.out.println(parse22.toLocaleString());//如果上述的方法打印的是外文的时间输出方式,这里可以使用toLocalString方法去转换一下


    }


}

小节 Calendar类

1、这里是日历类的获取情况

2、代码总结展示



import java.util.Calendar;

public class CalendarMe {


    public static void main(String[] args) {
        /*
        这里是来测试关于Calendar类的相关方法,Calendar是一个抽象方法

        1、创建Calendar类的对象,只可以使用当前类的一个静态方法去创建
        2、get方法,Calendar里面的get方法,可以获取当前的特定的时间
         */

        Calendar cld = Calendar.getInstance();//实例化一个对象

        System.out.println("这里调用了get方法,获取日历里面的常量年份");
        System.out.println("这个时候获取的时间是年份为:"+cld.get(Calendar.YEAR));
        System.out.println("这个时候获取的时间是月份为:"+(cld.get(Calendar.MONTH)+1));
        //首先这里如果不加括号的情况下+1那就是一个拼接,如果加上了括号,那就是一个加减
        //外文状态下的月份获取是0-11,中文的月份获取是1-12,默认的情况下是外文的状态,转换为中文的话要+1


        System.out.println("=================我是分割线=================");


        System.out.println("这里调用了set方法,设置日历里面的常量年份");
//        System.out.println(cld.set(Calendar.YEAR,2099)); 注意设置的方法是不可以直接输出的
        cld.set(Calendar.MONTH,12);
        cld.set(Calendar.YEAR,1970);
        System.out.println("这个时候获取的时间是年份为:"+cld.get(Calendar.YEAR));
        System.out.println("这个时候获取的时间是月份为:"+(cld.get(Calendar.MONTH)+1));

        System.out.println("=================我是分割线=================");

        System.out.println("这里调用了add方法,增加现在日历的时间,注意这个时候正数是增加,负数是减少!");
        cld.add(Calendar.YEAR, 30);
        cld.add(Calendar.MONTH,-5);
        System.out.println("这个时候获取的时间是年份为:"+cld.get(Calendar.YEAR));
        System.out.println("这个时候获取的时间是月份为:"+(cld.get(Calendar.MONTH)+1));


    }
}

3、运行结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值