首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较并查找两个字符串(时间)之间的值

比较并查找两个字符串(时间)之间的值
EN

Stack Overflow用户
提问于 2016-06-15 16:53:57
回答 2查看 59关注 0票数 0

我有一个字符串数组,存储每天的公交车间隔,如下所示

代码语言:javascript
复制
eg. ["6:30", "6:45", "7:00", "7:15", "7:30", "7.45"..................]

我想让程序从数组中找到最接近当天的时间和系统上的时间。

例如:在上面的字符串数组中,假设我的系统时间是7:35,那么它应该显示7:30和7:45作为最近的时间

EN

回答 2

Stack Overflow用户

发布于 2016-06-15 17:19:44

我希望这能帮到你。

代码语言:javascript
复制
public class TestClass {

    public static void main(String[] args){

        String arr[]={"06:30","07:00","07:30","14:20","14:50","18:20"};
         Calendar cal = Calendar.getInstance();
            SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
            System.out.println("Your system time is :"+ sdf.format(cal.getTime()) );
            System.out.println("So nearest timings are...");
            String sys[]=sdf.format(cal.getTime()).toString().split(":");
           // System.out.println(sys[0]);
        for(String st:arr){
            if(st.startsWith(sys[0]))
                System.out.println(st);
            }
        }   
}

代码语言:javascript
复制
output would be : 
Your system time is :14:47 
So nearest timings are... 
14:20 14:50
票数 0
EN

Stack Overflow用户

发布于 2016-06-15 17:28:59

尝尝这个

代码语言:javascript
复制
    String[] arr =new String[]{"6:30", "6:45", "7:00", "7:15", "7:30", "7:45"};
        Calendar cal = Calendar.getInstance();
        SimpleDateFormat sdf = new SimpleDateFormat("HHmm");
        String currentTime=sdf.format(cal.getTime());
        //nus interval 
        Integer interval=15;

        for (String string : arr) {
            if(Math.abs(Integer.valueOf(string.replaceFirst(":", ""))-Integer.valueOf(currentTime))<interval){
                System.out.println(string);
            } 
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37830599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档