java怎么比较时间的大小

现有两个String类型的时间,例如:09:00和10:00,怎么比较大小呢?... 现有两个String类型的时间,例如:09:00 和10:00,怎么比较大小呢? 展开
 我来答
浪尖讨生活9z
高粉答主

2018-10-04 · 每个回答都超有意思的
知道小有建树答主
回答量:298
采纳率:100%
帮助的人:13.9万
展开全部

例子:

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类

陆杨很帅
推荐于2018-03-26 · TA获得超过202个赞
知道答主
回答量:53
采纳率:100%
帮助的人:28.3万
展开全部

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。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hao321251
2014-02-26
知道答主
回答量:23
采纳率:0%
帮助的人:16.8万
展开全部
如果只是时和分的话
你可以写一个方法:参数(time1,time2)
第一步:split(":")
第二步:时 和 分 分别比较大小(Integer.parseInt(t))
return boolean
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
samplezuo
2014-02-26 · TA获得超过320个赞
知道小有建树答主
回答量:452
采纳率:100%
帮助的人:255万
展开全部
仅仅是一天内的对比么? 自己写个算法就行了
追问
只是小时数的对比,和天也没关系,就好比怎么比较9点比10点小
追答
上面说的都可以解决我就不写了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式