Calendar类简单常用的几种方法

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> Calendar类简单常用的几种方法

来源:脚脚脚脚
blog.csdn.net/wangdajiao

公众号注:文末阅读原文可直达java开发学习网站

1、Calendar的实例化

由于Calendar是抽象类,不可以直接new出一个对象


Calendar calendar=Calendar.getInstance();

**2、Calendar类与Date类的互相转换 **

Calendar转化成Date 


Calendar cal=Calendar.getInstance(); 
Date date=cal.getTime();

Date转成Calendar 


Date date=new Date(); 
Calendar cal=Calendar.getInstance(); 
cal.setTime(date);

3、计算2016-6-1到2016-6-2两时间相差的小时


public class A {
    public static void main(String[] args) {
        Date d = new Date(2016,6-1,1);
        // 返回的是毫秒
        long l = d.getTime();
        Date d1 = new Date(2016,6-1,2);
        long l1 = d1.getTime();
        //得到的结果是24小时
        System.out.println((l1-l)/(1000*60*60));
        }
}

**4、常用的Calendar方法 **

**注:Calendar中的月份是从0开始的 **

1)格式化输出当前时间:用SimpleDateFormat创建一个带格式的对象,再用对象调用format()方法时传入date值


public class A {
    public static void main(String[] args) {
        Date d = new Date();
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        String s = sf.format(d);
        System.out.println(s);
    }
}

2)计算2016年6月1日时2016年的第几个week 

思路:设置Calendar对象的值 为2016-6-1,再调用WEEK_OF_YEAR 方法计算出答案


public class A {
    public static void main(String[] args) {
        Calendar cal = Calendar.getInstance();
        cal.set(Calendar.YEAR, 2016);
        cal.set(Calendar.MONTH,6-1);
        cal.set(Calendar.DAY_OF_MONTH,1);
        int week = cal.get(Calendar.WEEK_OF_YEAR);
        System.out.println(week);
    }
}

3)计算2016年第23周是几月几号


public class A {
    public static void main(String[] args) {
        Calendar cal = Calendar.getInstance();
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
        cal.set(Calendar.YEAR, 2016);
        cal.set(Calendar.WEEK_OF_YEAR,23);
        //Monday是周天
        cal.set(Calendar.DAY_OF_WEEK,4);
        //Calendar转化成Date
        Date d = cal.getTime();
        String s = sf.format(d);
        System.out.println(s);
   }
}

4)字符串转化成时间类型,SimpleDateFormat.parse(String s)
记得要保持SimpleDateFormat和S中的格式一致

Calendar类简单常用的几种方法
本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> Calendar类简单常用的几种方法


 上一篇
对HashMap的思考及手写实现 对HashMap的思考及手写实现
前言HashMap是Java中常用的集合,而且HashMap的一些思想,对于我们平时解决业务上的一些问题,在思路上有帮助,基于此,本篇博客将分析HashMap底层设计思想,并手写一个迷你版的HashMap! 对HashMap的思考 Has
下一篇 
理解Java虚拟机体系结构 理解Java虚拟机体系结构
点击蓝字“程序员考拉”欢迎关注! 1 概述众所周知,Java支持平台无关性、安全性和网络移动性。而Java平台由Java虚拟机和Java核心类所构成,它为纯Java程序提供了统一的编程接口,而不管下层操作系统是什么。正是得益于Java虚