引子:平时开发常常需要对时间进行格式化,进行比较,进行加减计算。最常用的类不外乎: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. 用C#截取指定长度的中英文混合字符串

    很早以前写过一篇文章(用C#截取指定长度的中英文混合字符串),但是对性能没有测试,有人说我写的这个方法性能有问题,后来想,可能真会有BT之需求要求传入一个几万K甚至几M体积的字符串进来,那将会影响正则 ...

  2. yzm10的小简介

    yzm10,退役OIer,现役ACMer.大学生一枚,从高中开始接触编程(入门pascal...),过程基本自学,蒟蒻一只,在各大比赛划水打酱油..15年水得noip联二后退役,结束OI之旅.也是在1 ...

  3. github分支管理

    一. 需要创建的分支 1.master 主分支 2.dev 开发分支 3.bug 修改bug分支 4.release 预发布分支 二.分支使用 1.在master上创建dev,bug,release分 ...

  4. .NET 实体转换辅助类

    /// <summary> /// 实体转换辅助类 /// </summary> public class ModelConvertHelper<T> where ...

  5. jmeter接口参数化获取tocken后保存批量保存在本地

    jmeter目录结构如下: 1,读取文件配置的ID提取tocken 2,CSV 数据文件设置,第一个为文件目录,第二个为参数化的参数名. 3,正则表达式提取tocken 4,BeanShell Pos ...

  6. 运维利器:钉钉机器人脚本告警(Linux Shell 篇)

    写在前面的话 目前换了几家公司,且最近几家都是以钉钉作为公司 OA 聊天工具,总的来说还是很不错的.最近去了新公司,由于公司以前没有运维,所以监控,做自动化等方面都没有实施,恰逢这个机会把最近做的关于 ...

  7. 【Python发展】pandas和koalas

    1.pandas介绍 Python 数据科学在过去几年中爆炸式增长, pandas 已成为生态系统的关键.当数据科学家得到一个数据集时,他们会使用 pandas 进行探索.它是数据处理和分析的终极工具 ...

  8. [Django笔记] views.py 深入学习

    views.py 是django MTV 中的主要逻辑层,相当于MVC中的 Controller 以下的实例都基于这样一个路由表: urlpatterns = [ url(r'^(index)?$', ...

  9. Java框架之单元测试

    单元测试dao层 @Test   //1.要写 test public void TestUserDao(){ ApplicationContext ctx=new ClassPathXmlAppli ...

  10. oracle数据结构

    数据类型: 1 字符数据:CHAR VARCHAR NCHAR NVARCHAR2 LONG CLOB NCLOB  2 数字数据类型:NUMBER 唯一用来存储数字型的类型 3 日期数据类型: 4 ...