现有两个String类型的时间,例如:09:00 和10:00,怎么比较大小呢?
例子:
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类
package com.huawei.timetest;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TimeTest
{
public static void main(String[] args)
{
String t1 = "9:00";
String t2 = "10:00";
String result = largerTime(t1,t2);
System.out.println(result);
}
private static String largerTime(String t1,String t2)
{
Date date1 ,date2;
DateFormat formart = new SimpleDateFormat("hh:mm");
try
{
date1 = formart.parse(t1);
date2 = formart.parse(t2);
if(date1.compareTo(date2)<0)
{
return t2;
}
else
{
return t1;
}
}
catch (ParseException e)
{
System.out.println("date init fail!");
e.printStackTrace();
return null;
}
}
}
希望您采纳!追问
我是想着比较两个值的大小,返回true or false,假如两个值一样大的话怎么办呢
追答修改一下这个函数如果你的值有一样大的可能性,就不单单是true,false能表达的了的。你可以参照date 对象的compareTo方法 进行修改
compareTo
public int compareTo(Date anotherDate)
比较两个日期的顺序。
指定者:
接口 Comparable 中的
compareTo
参数:
anotherDate - 要比较的 Date。
返回:
如果参数 Date 等于此 Date,则返回值 0;如果此 Date 在 Date 参数之前,则返回小于
0 的值;如果此 Date 在 Date 参数之后,则返回大于 0 的值。
抛出:
NullPointerException
- 如果 anotherDate 为 null。
你可以写一个方法:参数(time1,time2)
第一步:split(":")
第二步:时 和 分 分别比较大小(Integer.parseInt(t))
return boolean
只是小时数的对比,和天也没关系,就好比怎么比较9点比10点小
追答上面说的都可以解决我就不写了