日期与日历

Date类的两个构造函数:

Date()  分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。

Date(long date)  分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。

​ Date类当中很多方法都被DateFormatCalendar所取代,因此以下为DateFormatCalendar两个类的学习笔记。

DateFormat类是日期/时间格式化子类的抽象类,我们可以通过这个类帮我们完成Date对象和String对象之间的转换。分为格式化和解析两种转换方式。

​ 常用规则为:y ----> 年,M ----> 月,d ----> 日,H ----> 时,m ----> 分,s ----> 秒

 

public static void main(String[] args) {
        /*
         格式化:将Date对象按照指定格式格式化为String对象
         */
        Date date = new Date();
        //创建日期格式化对象,并指定格式
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
        String str = df.format(date);//将Date对象格式化为字符串
        System.out.println(str);//2018-08-04 13-22-32
    }

public static void main(String[] args) throws ParseException {
        /*
          解析:将String对象按照指定格式解析为Date对象
          */
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
        String str = "2018-08-04 13-28-52";
        Date date = df.parse(str);//将字符串解析为Date对象
        //由于parse抛出编译时期异常ParseException,所以我们在主方法中需要throws ParseException。
        System.out.println(date);//Sat Aug 04 13:28:52 CST 2018
    }

Calendar类是日历类,替换了Date类当中的很多方法,把时间信息封装为静态成员变量,方便获取各个时间的属性值。利用Calendar.getInstance()方法获取默认时区和语言环境的一个日历。

YEAR ----> 年,MONTH ----> 月(月份为0-11,可以+1使用),DAY_OF_MONTH ----> 月中的天(几号),HOUR ----> 时(12小时制),HOUR_OF_DAY ----> 时(24小时制),MINUTE ----> 分,SECOND ----> 秒,DAY_OF_WEEK ----> 周中的天(周几,周日为1,可以-1使用)。

public static void main(String[] args) {
        // 创建Calendar对象
        Calendar cal = Calendar.getInstance();

        //getTime()方法不是获取毫秒时刻,而是拿到对应的Date对象。
        Date time = cal.getTime();
        System.out.println(time);//Sat Aug 04 15:59:37 CST 2018

        // 设置年
        cal.set(Calendar.YEAR, 2018);
        // 设置月 此处设置的月份为8月
        cal.set(Calendar.MONTH, 7);
        // 设置日
        cal.set(Calendar.DAY_OF_MONTH, 4);

        //使用add()可进行增减操作
        //cal.add(Calendar.DAY_OF_MONTH,-2);//减两个月
        //获取星期几

        int i = cal.get(Calendar.DAY_OF_WEEK);
        //星期是以星期日开头为1,因而得到的星期天数-1,即可得到星期值
        System.out.println("今天是星期" + (i - 1));//今天是星期6
    }

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值