[java 基础] Date和Calendar的使用

前言:
我们在日常开发中离不开操作时间,所以这一篇主要是来讲解一下Java中操作时间的类。

Date

Date类表示的是特定的,瞬间的,他能精确毫秒。他是一个具体的类。java.util.Date。

        Date date = new Date();
        System.out.println(date.getTime());
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String time = simpleDateFormat.format(date);
        System.out.println(time);

输出结果为:
在这里插入图片描述
这里使用了SimpleDateFormat,是用来格式化date文本输出。
我们先来说一说输出结果,第一串输出是一串数字,在JDK1.1之前,类Date由两个其他的函数。它允许把如期解释为年、月、日、小时、分钟和秒值。它也允许格式化和分析日期字符串。不过,这些函数的 API 不易于实现国际化。从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和分析日期字符串。Date 中的相应方法已废弃。

Calender

Calender类替代了Date类中的某些方法。因为Date不利于国际化,所以一般使用Calendar。使用了Calendar不需要用到SimpleDateForMat;使用get()方法获取里面的值。具体例子:


        // 使用默认时区和语言环境获得一个日历
        Calendar cal = Calendar.getInstance();
        // 赋值时年月日时分秒常用的6个值,注意月份下标从0开始,所以取月份要+1
        System.out.println("年:" + cal.get(Calendar.YEAR));
        System.out.println("月:" + (cal.get(Calendar.MONTH) + 1));
        System.out.println("日:" + cal.get(Calendar.DAY_OF_MONTH));
        System.out.println("时:" + cal.get(Calendar.HOUR_OF_DAY));
        System.out.println("分:" + cal.get(Calendar.MINUTE));
        System.out.println("秒:" + cal.get(Calendar.SECOND));
 
        //手动设置某个日期
        Calendar cal02 = Calendar.getInstance();
        //注意,设置时间的时候月份的下标是在0开始的
        //设置时间不一定要这6个参数3个参数也是可以的
        cal02.set(2018,9,1,12,0,0);//二零一八年十月一号十二点

Date和Calendar区别

Date是日期,Date是类,而Calendat是抽象类。抽象类不能被实例化。
具体效率问题,需要根据具体项目使用场景来判断。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值