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. ASP.NET CORE下运行CMD命令

    ASP.NET CORE下运行CMD命令,用以前的ASP.NET 的命令System.Diagnostics.Process.Start("notepad");这样是可以运行出记事 ...

  2. iScroll的使用

    CDN: <script src="//ossweb-img.qq.com/images/js/iscroll_library/iscroll-5.2.0.js">&l ...

  3. .net core 2.0 虚拟目录下载 Android Apk 等文件

    当Android 文件 Apk 放在Asp.net core wwwroot 虚拟目录下面.访问是 404,设置Content-Type类型 app.UseStaticFiles(); //设置实际目 ...

  4. Paxos 实现日志复制同步(Basic Paxos)

    Paxos 实现日志复制同步 本篇文章以 John Ousterhout(斯坦福大学教授) 和 Diego Ongaro(斯坦福大学获得博士学位,Raft算法发明人) 在 Youtube 上的讲解视频 ...

  5. zookeeper入门及使用(一)- 安装及操作

    zookeeper是什么? highly reliable distributed coordination,用来做高可靠的分布式协调者,可用来: 业务发现(service discovery)找到分 ...

  6. c 时间转移函数

    /*                 @param       date                 @param       formart  of date                 @ ...

  7. 框架源码系列三:手写Spring AOP(AOP分析、AOP概念学习、切面实现、织入实现)

    一.AOP分析 问题1:AOP是什么? Aspect Oriented Programming 面向切面编程,在不改变类的代码的情况下,对类方法进行功能增强. 问题2:我们需要做什么? 在我们的框架中 ...

  8. (原)关于udp的socket发送数据耗时的问题探讨

    转载请注明出处:http://www.cnblogs.com/lihaiping/p/6811791.html 本学习笔记,仅用于问题探讨,如有不同,可以讨论. 最近在看流媒体分发服务器的相关代码,其 ...

  9. 阿里云ECS服务器无法上传文件的解决方案

    1.安装软件启动FTP服务 yum install vsftpd # 安装service vsftpd start # 启动服务chkconfig vsftpd on # 开机启动 2.防火墙ipta ...

  10. Linux 相关术语_002

    Linux(Linux is not unix)是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统. 它能运行主要的UNIX工 ...