1 毫秒值概念
时间和日期的计算,必须依赖毫秒值
获取当前日期的毫秒值:System.currentTimeMillis() 返回值long类型参数,
时间原点:公元1970年1月1日,午夜0:00:00 英国格林威治,毫秒值是0

2 Date类的构造方法
空参构造:public Date()
带参构造:public Date(long times)

3 Date类的get和set方法
public long getTime(); 日期对象→毫秒值
public void setTime(long times);毫秒值→日期对象

4 日期格式化
1: 创建SimpleDateFormat对象,在类构造方法中,写入字符串的日期格式 (自己定义)
2: SimpleDateFormat调用方法format对日期进行格式化
public String format(Date date) 传递日期对象,返回字符串
日期模式:
yyyy 年份
MM 月份
dd 月中的天数
HH 0-23小时
mm 小时中的分钟
ss 秒
yyyy年MM月dd日 HH点mm分钟ss秒 汉字修改,: - 字母表示的每个字段不可以随便写

5 字符串转成日期对象
1: 创建SimpleDateFormat的对象,构造方法中,指定日期模式
2: 子类对象,调用方法 parse 传递String,返回Date
注意: 时间和日期的模式yyyy-MM-dd, 必须和字符串中的时间日期匹配

6 Calendar类
Calendar日历类(抽象类),包含静态方法getInstance(),通过静态方法直接获取,不需new子类对象

getTime() 把日历对象转成Date日期对象
int get(int field) 获取指定日历字段的值
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH) + 1;
int day = c.get(Calendar.DAY_OF_MONTH);

set(int field,int value);将指定的日历字段(年月日)设置为给定的值,c.set(Calendar.MONTH, 9);将月份修改为9月
set(int year,int month,int day);修改日历字段的年月日值,c.set(2099, 1, 1);设置日历为2099年1月1日
add(int field, int value) 进行整数的偏移,c.add(Calendar.DAY_OF_MONTH, -280);让日历中的天数向后偏移280天

7 闰年计算
简便算法: 日历设置到指定年份的3月1日,add向前偏移1天,获取天数,如果是29,则为闰年

public static void function_1(){
    Calendar c = Calendar.getInstance();
    c.set(2088, 3, 1);
    c.add(Calendar.DAY_OF_MONTH, -1);
    int day = c.get(Calendar.DAY_OF_MONTH);
    if(day == 29)
        System.out.println("是闰年!");
    else
        System.out.println("不是闰年!");
}

Date Calendar的更多相关文章

  1. java-String Date Calendar之间的转换

    1.Calendar 转化 String Calendar calendat = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDa ...

  2. String Date Calendar之间的转换

    1.Calendar 转化 String Calendar calendat = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDa ...

  3. 【转】String Date Calendar之间的转换

    1.Calendar 转化 String Calendar calendat = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDa ...

  4. 【Java】【9】String Date Calendar之间的转换

    前言: 1, Calendar 转化 String 2, Calendar 转化 Date 3,Date 转化 String 4,Date 转化 Calendar 5,String 转化 Calend ...

  5. [java]转:String Date Calendar之间的转换

    String Date Calendar之间的转换 String Date Calendar  1.Calendar 转化 String Calendar calendat = Calendar.ge ...

  6. 一篇文章吃透iOS、JS的时间日期(Date, Calendar, Locale, TimeZone)

    iOS 时间相关类 NSDate - 表示一个绝对的时间点. NSCalendar - 代表一个特定的日历,例如公历或者希伯来日历.它提供了一系列基于日期的计算,并且可以让你在"NSDate ...

  7. Java的三种日期工具 Date Calendar SimpleDateFormat

    三种日期工具 配合下面的案例可以更加深度的了解 Date 需要导包java.util.Date Date d = new Date(); //两种都是获取到现在时间的时间戳 long t1 = d.g ...

  8. 基础笔记4(包装类,时间date. calendar

    1.包装类 基本类型和对象. 编译器会对基本类型和包装类进行自动拆箱,装箱处理 Interger  i=5; int i=new Interger(4); 一个缓存问题:以便提高效率 integer ...

  9. Java 数据类型之间的转换 拆分字符串 Date/Calendar的转换

    数据类型转换 1. String - Int String str="123"; int i=1; int str=Integer.parseInt(str); String i= ...

  10. 黑马程序员——JAVA基础之System,Runtime,Date,Calendar,Math

    ------- android培训.java培训.期待与您交流! ---------- System:  类中的方法和属性都是静态的. out:  标准输出,默认是控制台. in:标准输入,默认是键盘 ...

随机推荐

  1. [k8s]k8s内容索引

    我会陆陆续续小结下. dns相关 dns策略 1.集群内 2.指定内网 subdomain 3.访问互联网 resovel.conf kube-dns架构图解及策略 nginx-ingress: DN ...

  2. [U3D Demo] 手机FPS射击游戏

    游戏截图 使用插件 DOTween Easy Touch UGUI 游戏介绍 游戏使用C#开发,是在<Unity3D手机游戏开发>一书第3章游戏的基础上优化和修改的. 机枪镭射光线和枪口特 ...

  3. 【转载】vi/vim使用进阶: 指随意动,移动如飞 (二)

    本节所用命令的帮助入口: :help usr_03.txt :help motion.txt :help usr_29.txt :help scroll.txt :help folding 上一篇文章 ...

  4. 【温暖】文龙回AICODER给老马送锦旗了

    又是一个愉快的周末,AICODER第一批老学员文龙小伙伴.已经工作两个月,而且就业薪资12000+,文龙从之前月薪不足4000,一下子翻了三倍多的工资. 几个月的实习,让文龙掌握了大前端全栈的技术,在 ...

  5. CobaltStrike3.12/13 破解

    更新3.13破解版 链接: https://pan.baidu.com/s/14e0tpVPzUhiAhYU2_jvBag 提取码: d9uf MacOS客户端: 链接: https://pan.ba ...

  6. 【iCore4 双核心板_uC/OS-II】例程二:任务的建立与删除

    一.实验说明: 本例程建立三个任务,通过任务寄存器来实现任务的建立与删除功能.红灯和绿灯同时以固定 频率闪烁,当任务寄存器为5时,删除绿灯闪烁的任务LED1,此时只有红灯闪烁,当任务寄存器的 值为10 ...

  7. C++ 函数模板默认的模板参数

    函数的默认模板参数 你可以为模板参数定义默认值,它们被称作 default template arguments(默认模板参数). 它们甚至可以指向前一个模板参数. 1. 可以直接使用 operato ...

  8. 【OSPF】防环机制详解

    我们在提到OSPF的时候,时常喜欢说的一句话就是,OSPF能够计算出无环的路由,那么OSPF究竟是如何规避路由环路的呢?OSPF与距离矢量路由协议不同,运行OSPF的路由器之间交互并不是路由信息,而是 ...

  9. 返回枚举中的desciption

    /// <summary> /// 返回枚举中的desciption /// </summary> /// <param name="value"&g ...

  10. Centos VMware 克隆后 网络配置

    第一步:生产新的网卡地址,启动系统. 第二步:修改主机名(注:此处根据个人需要,不修改也行,此处我是用于搭建集群,修改主机名做区分) 执行命令:vi /etc/sysconfig/network 修改 ...