引子:平时开发常常需要对时间进行格式化,进行比较,进行加减计算。最常用的类不外乎: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. 按位操作符(Bitwise operators)

    按位操作符(Bitwise operators) 将其操作数(operands)当作32位的比特序列(由0和1组成),而不是十进制.十六进制或八进制数值.例如,十进制数9,用二进制表示则为1001.按 ...

  2. SSH (Struts2+Spring3.0+Hibernate3)框架(二) 框架的配置

    一.准备工作: 1. JDK -> jdk1.6.0_17 安装(环境变量配置): JAVA_HOME = C:\ jdk1.6.0_17; PATH = %JAVA_HOME%\bin; %J ...

  3. Java50道经典习题-程序47 输入数字打印星号

    题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*. import java.util.Scanner; public class Prog47{ public static ...

  4. [raspberry pi3] 编译安装chromium

    想要试试arm板上使用selenium是不是可能,发现Firefox什么的不顶用,网上有提供的chrome的安装手顺,但是没有arm版本的对应的chromedriver,只能自己搞了. 这边介绍的方法 ...

  5. linux源码安装apache

    apache安装之前,需要安装APR.APR-Util和PCRE依赖包 下载 Apache     下载地址: http://httpd.apache.org/download.cgi   (打开找最 ...

  6. Gazebo学习随记4 Actor: 该配合你的演出我视而不见

    在Gazebo仿真中,除了模型model外,还有一种和model并列的类型——actor. 相比于model受物理引擎的作用,actor不受重力等等的影响,可以按照设定的运动轨迹进行运动. <s ...

  7. 浅聊本人学习React的历程——第一篇生命周期篇

    作为一个前端小白,在踏入前端程序猿行业的第三年接触了React,一直对于框架有种恐惧感,可能是对陌生事物的恐惧心里吧,导致自己一直在使用原生JS和JQ作为开发首选,但是在接触了React之后,发现了其 ...

  8. win10更新后IE不见了

    只是快捷方式不见了,到C:\Program Files\internet explorer\iexplore.exe就看到了,可以正常运行

  9. DOS下修改IP地址

    这两天不知道怎么回事,IPV4竟然无法修改,郁闷之极下,想到用命令行试试. 于是敲入下面的代码: >netsh <Enter> netsh>interface <Ente ...

  10. centos-7.4_ceph-12.2.4部署

    centos-7.4_ceph-12.2.4部署: 前言: 基于centos7.4安装ceph-luminous的主要步骤有一下几点: 1.安装centos7.4的系统,并配置网卡 2.安装前的环境配 ...