在《【Java】比对两个以字符串形式表示的时期是否相差超过1天》(点击打开链接)曾经介绍过,如果利用字符串的截取来比较两个在数据库中取出来,被特定格式化的日期。然而,这具有一定的局限性,最大的缺点出在截取字符串太复杂太麻烦。

其实可以利用String的compareTo比较两个表示时期的字符串。compareTo原本是这样的:此方法如果这个字符串是等参数字符串那么​返回值0,如果这个字符串是按字典顺序小于字符串参数那么返回小于0的值,如果此字符串是按字典顺序大于字符串参数那么一个大于0的值。一般没什么用,地位类似于C语言的strcmp。strcmp是这样比较的:两个字符串,从第一个字符开始比,如果相同,继续向下比,如果不同,看这两个字符的ASCII码,如果第一个字符串的比较大,则返回1,否则返回-1,相同的两个字符串则返回0。

我们可以利用Java中的String的compareTo比较两个时期字符串,

比如如下程序,假设从数据库中取出了date_string_1、2、3、4四个日期字符串,要比较两两的早晚,可以用date_string_1.compareTo(date_string_2)>0来判断。

public class CompareToTest {

public static void main(String[] args) {

String date_string_1 = "2015-09-17 22:50:42";

String date_string_2 = "2015-09-19 23:50:42";

String date_string_3 = "2016-09-19 23:50:42";

String date_string_4 = "2016-09-19 23:50:42";

System.out.println(date_string_1.compareTo(date_string_2));

System.out.println(date_string_3.compareTo(date_string_2));

System.out.println(date_string_3.compareTo(date_string_4));

if (date_string_1.compareTo(date_string_2) > 0) {

System.out.println("日期1比日期2晚");

} else {

System.out.println("日期1比日期2早");

}

}

}

上述运行程序的结果是:

可以看到compareTo的返回值本身没有什么意义,主要是关注这个返回值的正负。

java mysql判断字符串相等_【Java】利用String的compareTo比较两个时期字符串相关推荐

  1. java mysql判断字符串相等_java如何判断字符串是否相等?

    java如何判断字符串是否相等?下面本篇文章就来给大家介绍一下使用java判断字符串是否相等的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 1.java中字符串的比较:== ...

  2. java 多态判断非空_收藏Java 面试题全梳理

    脚本之家 你与百万开发者在一起 来源 | Java建设者(ID:javajianshe) 作者 |cxuan 如若转载请联系原公众号 Java 基础篇 Java 有哪些特点 并发性的:你可以在其中执行 ...

  3. java mysql防重复提交_防止数据重复提交的6种方法(超简单)!

    有位朋友,某天突然问磊哥:在 Java 中,防止重复提交最简单的方案是什么? 这句话中包含了两个关键信息,第一:防止重复提交:第二:最简单. 于是磊哥问他,是单机环境还是分布式环境? 得到的反馈是单机 ...

  4. Java代码制作ie浏览器_[Java教程]判断IE浏览器代码实例

    [Java教程]判断IE浏览器代码实例 0 2015-08-12 01:00:19 判断IE浏览器代码实例: 由于当下浏览器类型众多,并且对同一段代码的解读有时候各有不同,所以要根据浏览器的类型来执行 ...

  5. java mysql查询试题_2016年Java认证考试题

    2016年Java认证考试题 Java 编程语言是个简单.面向对象.分布式.解释性.健壮.安全与系统无关.可移植.高性能.多线程和静态的语言.下面来看看java认证的考试题! 1. 在Java中,负责 ...

  6. java引用类型和值类型_[Java教程]JavaScript中值类型和引用类型的区别

    [Java教程]JavaScript中值类型和引用类型的区别 0 2017-02-24 00:00:35 JavaScript的数据类型分为两类:原始类型和对象类型.其中,原始类型包括:数字.字符串和 ...

  7. java字符串常量池长度_Java String类相关知识梳理(含字符串常量池(String Pool)知识)...

    目录 1. String类是什么 1.1 定义 1.2 类结构 1.3 所在的包 2. String类的底层数据结构 3. 关于 intern() 方法(重点) 3.1 作用 3.2 字符串常量池(S ...

  8. flex java mysql,关于从Flex到Java到mysql:从Flex到Java到mysql-连接失败,从剪贴簿到Java到mysql-成功连接...

    我试图建立从Flex到Java以及从Java到mysql的连接. 我设法连接到Java,但遇到未找到该类的错误:com.mysql.jdbc.Driver. 但是我下载了mysql.jar,将其添加到 ...

  9. java 微信群发多图文_[Java教程]httpClient实现微信公众号消息群发

    [Java教程]httpClient实现微信公众号消息群发 0 2016-09-21 20:00:10 1.实现功能 向关注了微信公众号的微信用户群发消息.(可以是所有的用户,也可以是提供了微信ope ...

最新文章

  1. 国内数据中心分布及供电系统概述
  2. ubuntu每日构建版
  3. SSL 1760——商店选址问题(最短路)
  4. 在Delphi中使用indy SMTP发送gmail邮件[转]
  5. Git版本控制管理系统_企业实战上篇
  6. Python使用UDP广播实现服务器自动发现
  7. lof、etf、qdii基金区别
  8. error: member “torch::jit::ProfileOptionalOp::Kind“ may not be initialized
  9. PHP用户名和密码登陆验证代码
  10. 解决Steam绑定手机令牌的问题
  11. 3dmax2016卸载/安装失败/如何彻底卸载清除干净3dmax2016注册表和文件的方法
  12. Spring核心方法 refresh 解析
  13. GDUT2016年ACM新生杯初赛题解
  14. qcom vfe笔记(msm8996平台)
  15. lr_think_time()
  16. Python正则(粗略)
  17. 如何获取ffmpeg返回的错误信息
  18. 电容麦克风测试软件,Precision sound
  19. 线性代数重要知识点和理论
  20. speak failed:not bound to TTS engine解决方案

热门文章

  1. 《有限与无限的游戏》第四章 发生在世界中的有限游戏:经典摘抄
  2. Base64的编码和解码
  3. Python 卸载所有pip依赖包
  4. 【GoCN酷Go推荐】Html解析利器-goquery库
  5. 道路设计标高p1p2php3p4,西南交通大学19春《道路工程》在线作业12
  6. 多线程并行中随机种子的设置问题
  7. 大型智慧物业管理系统源码
  8. C++打卡20-【排序模板】快速排序
  9. 知识付费源码|知识付费网站搭建|知识付费小程序源码
  10. 银行对帐java程序_使用用友软件如何进行银行对账