Java中如何比较 String型 日期 ??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中如何比较 String型 日期 ??相关的知识,希望对你有一定的参考价值。

在保证日期格式都一致的情况下,可以使用compareTo()方法:

       String d1 = "2014-03-02";
       String d2 = "2014-03-01";
       System.out.println(d1.compareTo(d2));

结果大于0,表示d1晚于d2,等于0则相同,小于0d1早于d2

参考技术A 想要保证比较的逻辑的正确性,还是要将String型 日期数据转换为Date型,在做比较。 参考技术B 用 new SimpleDateFormat(“yyyy-MM-dd”).parse(str) 转换成DAte 在进行比较 参考技术C 先转换为Date类型再比较

public static boolean dateCompare(Date bDate, Date eDate)
boolean flag = false;
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try
if (bDate.before(eDate) || bDate.equals(eDate))
flag = true;

catch (Exception e)
flag = false;

return flag;
参考技术D 什么意思?
是否相同?
还是那个大,那个小?

java 日期怎么比较大小?

java 日期怎么比较大小?

例子:

String beginTime=new String("2017-06-09 10:22:22");
String endTime=new String("2017-05-08 11:22:22"); 

    直接用Date自带方法before()和after()比较

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date sd1=df.parse(beginTime);
Date sd2=df.parse(endTime);

System.out.println(sd1.before(sd2));
System.out.println(sd1.after(sd2));

    用String的compareTo()方法:

Integer i=beginTime.compareTo(endTime);

System.out.println(i);

返回正值是代表左侧日期大于参数日期,反之亦然,日期格式必须一致

    转成date格式换成秒数比较秒数大小,getTime()方法

Date sd1=df.parse(beginTime);
Date sd2=df.parse(endTime);

long long1 =sd1.getTime()

long long2= sd2.getTime()

扩展资料:

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

参考资料:java文档date类

参考技术A 把你的日期按照你的格式(yyyy/mm/dd、yyyy-mm-dd或者其他的格式)转换(前四位比较、中间两位进行比较、最后两位进行比较)为整型或者字符型进行比较。 参考技术B java.util.Date nowdate=new java.util.Date();
String myString = "2008-09-08";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd", Locale.CHINA);
Date d = sdf.parse(myString);

boolean flag = d.before(nowdate);
if(flag)
System.out.print("早于今天")
else
System.out.print("晚于今天")本回答被提问者采纳
参考技术C java.util.Date 看随机文档
这类简单的事情不要问别人,否则你永远无法进步
参考技术D 比如说2011-1-1 ,2011-3-4 我认为最简单的方法是字符串截取比较

以上是关于Java中如何比较 String型 日期 ??的主要内容,如果未能解决你的问题,请参考以下文章

在VB.NET中如何将日期类型转化为String型?

java 日期怎么比较大小?

如何把一个long型转换成日期

用java如何实现 看数据库内的日期字段是否在我输入的2个日期段之间

java web开发时,一般把日期设为String还是Date类型?求解

java 如何取得下周一和下周日的日期