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. 基础008_定浮点转化[floating point IP]

    作者:桂. 时间:2018-05-15  21:55:50 链接:http://www.cnblogs.com/xingshansi/p/9042564.html 前言 本文为Xilinx float ...

  2. MySQL利用xtrabackup在线修复或新增从库

    如果数据库的数据量很大,表大小有几十个G,利用mysqldump导出备份会消耗非常长的时间,会对数据库产生不稳定风险,这时可以利用xtrabackup工具在线复制主库文件,利用复制出来的主库文件可以修 ...

  3. js 性能优化利器:prepack

    1. js 性能优化 js 本身是没有像 python 一样的预编译功能,更没有像 java 一样的编译功能,所以,这里所说的 js 代码预编译 只是通过工具实现的类似功能而已. 这就要提到 prep ...

  4. js快速排序算法

    真正的快速排序算法一: function quickSort(array){ function sort(prev, numsize){ var nonius = prev; var j = nums ...

  5. PDFBOX详解

    PDFBOX详解 摘要 自从Adobe公司1993年第一次发布公共PDF参考以来,支持各种语言和平台的PDF工具和类库就如雨后春笋般涌现.然而,Java应用开发中Adobe技术的支持相对滞后了. 自从 ...

  6. 使用.gitignore删除Github上的.idea文件

    环境:windows + git bash. 一.问题来源 由于之前用Goland建立Golang工程时,生成了.idea文件,不小心上传至Github: 所以尝试用.gitignore进行忽略不上传 ...

  7. centos7 RTMP直播服务器搭建

    首先需要下载 nginx-1.8.1 : http://nginx.org/download/nginx-1.8.1.tar.gz nginx-rtmp-module : https://github ...

  8. 阿里云php-7.2.12 安装

    安装依赖 yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml ...

  9. <jsp:param>标签给属性赋值时的一个坑

    http://blog.sina.cn/dpool/blog/s/blog_58c5066001011gdn.html 因为: <jsp:forward和<jsp:param在被编译成ja ...

  10. redis数据操作笔记

    redis是key-value的数据结构,每条数据都是一个键值对键的类型是字符串 注意:键不能重复,值的类型分为五种:字符串string 哈希hash 列表list 集合set 有序集合zset 一. ...