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

最新文章

  1. 烂泥:Postfix邮件服务器搭建之虚拟用户配置
  2. CSS3 transform对普通元素的N多渲染影响
  3. 总结一下这几天学习django的心得
  4. C++对象模型(虽然在GCC下很大的不同,但是先收藏)
  5. 【Nutch2.2.1基础教程之6】Nutch2.2.1抓取流程
  6. 原生javascript学习
  7. 《JAVASCRIPT高级程序设计》第五章(1)
  8. js 你所不知道的一面
  9. C#操作Excel知识点
  10. react-router简明学习
  11. Android--app性能问题的总结(一)
  12. javascript基础之对象
  13. HTML标记
  14. A1014. Waiting in Line
  15. Camera摄像头
  16. [翻译] FBLikeLayout
  17. BI之报表测试总结
  18. Objective-C学习笔记(十八)——对象方法和类方法的声明,定义及调用
  19. IntelliJ idea的初次使用
  20. vue运行原理

热门文章

  1. Luogu 4323 [JSOI2016]独特的树叶
  2. Spark的广播变量模块
  3. Bootstrap 的 ScrollSpy
  4. 《Maven实战》笔记-2-坐标和依赖
  5. linux中的线程同步:生产者、消费者问题
  6. MVC下为什么要使用Areas
  7. c# 创建XML文档,解析XML文档
  8. JavaScript面向切面编程入门
  9. Repeater控件的分隔线
  10. (原创)最短路径-Dijkstra算法,以Til the Cows Come Home为例