引子:平时开发常常需要对时间进行格式化,进行比较,进行加减计算。最常用的类不外乎:SimpleDateFormat,Calendar,Date,DateTimeStamp等。下面想对java中的日期编程进行总结。

第一篇,介绍日期的比较

第二篇,介绍日期的格式化

第三篇,介绍关于日期常用的计算

第四篇,比较几个常用的日期时间相关类的区别

第五篇,jdk9对日期类进行了更新,写一些i自己的学习心得。

1.日期的比较。目前常用的是2种方法。Date里面的before(),after(),compareTo

 //日期的比较 两种方法: 第一种before/after  第2种:compareTo
/**
* 测试
* @param args
* @Description:
*/
@Test
public void testBeforeAndAfter(){
try {
String s1 = "2017-10-31 01:42:11";
String s2 = "2017-10-31 01:42:11";
SimpleDateFormat sdf = new SimpleDateFormat(DateHelper.DATETIME24_FORMAT1);
SimpleDateFormat sdf2 = new SimpleDateFormat(DateHelper.DATE_FORMAT);
Date d1 = sdf.parse(s1);
Date d2 = sdf.parse(s2);
if (d1.before(d2)) {
System.out.println("s1在s2前面");
}
if(d1.after(d2)) {
System.out.println("s1在s2后面");
}
System.out.println("s1,s2相等");
} catch (ParseException e) {
e.printStackTrace();
}
} /**
* 测试
* @param args
* @Description:
*/
@Test
public void testBeforeAndAfter2(){
try {
String s1 = "2017-10-31 01:42:11";
String s2 = "2017-10-32 01:42:12";
SimpleDateFormat sdf = new SimpleDateFormat(DateHelper.DATE_FORMAT);
Date d1 = sdf.parse(s1);
Date d2 = sdf.parse(s2);
if (d1.before(d2)) {
System.out.println("s1在s2前面");
}
if(d1.after(d2)) {
System.out.println("s1在s2后面");
}
System.out.println("s1,s2相等");
} catch (ParseException e) {
e.printStackTrace();
}
} /**
* 测试
* @param args
* @Description:
*/
@Test
public void testCompareTo(){
try {
String s1 = "2017-10-31 01:42:11";
String s2 = "2017-10-31 01:43:11";
SimpleDateFormat sdf = new SimpleDateFormat(DateHelper.DATETIME24_FORMAT1);
Date d1 = sdf.parse(s1);
Date d2 = sdf.parse(s2);
int result = d1.compareTo(d2);
switch (result) {
case 1:
System.out.println("s1在s2后面");
break;
case -1:
System.out.println("s1在s2前面");
break;
default:
System.out.println("s1,s2相等");
break;
}
} catch (ParseException e) {
e.printStackTrace();
} }

java编程--01介绍日期的比较的更多相关文章

  1. java编程--03介绍关于日期常用的计算

    /** * 获取2个日期之间的天数差 * d2-d1 * @return * @throws Exception * @Description: */ public static int getDif ...

  2. JAVA编程思想(第四版)学习笔记----4.8 switch(知识点已更新)

    switch语句和if-else语句不同,switch语句可以有多个可能的执行路径.在第四版java编程思想介绍switch语句的语法格式时写到: switch (integral-selector) ...

  3. Java编程的逻辑 (95) - Java 8的日期和时间API

    ​本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http: ...

  4. Java编程的逻辑 (32) - 剖析日期和时间

    本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...

  5. [Java并发编程(三)] Java volatile 关键字介绍

    [Java并发编程(三)] Java volatile 关键字介绍 摘要 Java volatile 关键字是用来标记 Java 变量,并表示变量 "存储于主内存中" .更准确的说 ...

  6. 编程入门-Java开发工具介绍及Eclipse安装

    编程入门-Java开发工具介绍及Eclipse安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Java开发工具介绍 "源代码"一般是文字,所以可以使用记 ...

  7. 085 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 04 构造方法调用

    085 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 04 构造方法调用 本文知识点:构造方法调用 说明:因为时间紧张,本人写博客过程中只是 ...

  8. 084 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 03 构造方法-this关键字

    084 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 03 构造方法-this关键字 本文知识点:构造方法-this关键字 说明:因为时间紧 ...

  9. 083 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 02 构造方法-带参构造方法

    083 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 02 构造方法-带参构造方法 本文知识点:构造方法-带参构造方法 说明:因为时间紧张, ...

随机推荐

  1. rest-framework组件 之 渲染器与版本

    浏览目录 渲染器 版本 渲染器 规定页面显示的效果(无用,了解即可). 局部渲染 只返回json数据. 效果: 看另一种情况: 既返回json数据,又嵌套在html中.注意:容易出bug. 效果如下: ...

  2. 使用java以及jdbc不使用第三方库执行sql文件脚本

    使用java以及jdbc不使用第三方库执行sql文件脚本 2017年02月15日 15:51:45 阅读数:660 使用java执行sql脚本的方法 解析sql脚本,删除不必要的注释和空行 将语句按分 ...

  3. python--输出spwm的数组

    python的功能是非常强大的,这个例子使用python编写的输出spwm数组(不对,在C语言或者其他语言叫做数组,在这里叫做list.)的程序,我们在单片机程序里调用这个程序,可以达到输出spwm波 ...

  4. C/C++单向链表

    由于时间仓促,作者并没有进行任何的检查,总之徒手165行,调试无BUG,基本功能的实现并无大问题,可能有些细节考虑不周(这也是C/C++的诟病,小车不倒只管前推),还忘见谅. 代码是在C++环境编写, ...

  5. c#打开关闭进程

    private const string FileName = "test.exe"; //进程名称不带扩展名 private const string ProcessName = ...

  6. 用递归算法返回该元素id下面的所有子集id

    private List<int> listAreaId = new List<int>(); /// <summary> /// 递归获取本区域下面的所有子集 / ...

  7. 小 M 的算式(dfs)

    [问题描述]小 M 在做数学作业的时候遇到了一个有趣的问题:有一个长度为 n 的数字串 S,小 M 需要在数字之间填入若干个“+”和恰好一个“=”,使其成为一个合法的等式.如对于 S=“2349”,可 ...

  8. 在RobotFramework--RIDE中把日期转化为整型进行运算

    在RobotFramework--RIDE中把日期转化为整型进行运算 运行结果: 20180906 16:10:17.919 : INFO : ${time} = 2018-09-06 16:10:1 ...

  9. C,C++网络编程学习简明指南

    C,C++网络编程学习简明指南 1. 扎实的C,C++基础知识 参考资料<C程序设计>,<C++ primer>. 2. TCP/IP协议 经典书是:W.Richard Ste ...

  10. APIO 2012 派遣(可并堆)

    APIO 2012 派遣(可并堆) 给定一棵N个点的树和M,每个点有两个权值ai,bi,每次可以选择一个点x,然后在这个点的子树中选若干点(可以不选自己),使得这些点的\(\sum b_i<=M ...