首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查当前时间和自定义时间是否在30分钟的设备时间段(挂钟时间)内

如何检查当前时间和自定义时间是否在30分钟的设备时间段(挂钟时间)内
EN

Stack Overflow用户
提问于 2019-06-10 18:42:53
回答 1查看 407关注 0票数 0

我有一个独特的问题,我必须确定两件事。

1)如果我的当前时间和自定义时间在相同的30分钟时间段(比如2:10 2pm,自定义时间是2:22 2pm),我希望看到它们在2- 2:30的同一时间段内,但如果当前时间是1:55 2pm,自定义时间是2:15 2pm,则它们不应该在相同的时间段内(30分钟的差异,但不是在相同的设备/时钟时间段内,因为一个是1:30到2 2pm,另一个是2到2:30 2pm)

2)现在,在相同的时间段30分钟内,如果当前时间在自定义时间之前,我想返回true,否则返回false。有没有办法计算这个?我希望在我的公共utils类中添加一个自定义函数,在那里我可以给它提供自定义时间和当前时间,并查看结果,所以如果有一些通用的东西会很有用。有什么想法吗?

我看过:Check if a given time lies between two times regardless of date和其他文章,但没有描述30分钟设备/时钟时间段的文章。

任何想法,如果https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/time/DateUtils.html将以某种方式帮助我操纵这个精确的逻辑或安卓中的任何自定义函数/库,都会对此有所帮助。将会非常有帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-10 21:17:41

代码语言:javascript
复制
package Demo;

import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
import java.util.Arrays;
public class Test1 {
    public static void main(String arg[]) {
        LocalDateTime ct = LocalDateTime.now();
        LocalDateTime custemTime = ct.plusMinutes(5);
        System.out.println(ct);
        System.out.println(custemTime)  ;
        System.out.println(isInSameSlots(ct,custemTime));

    }   
    static boolean   isInSameSlots(LocalDateTime ldt1, LocalDateTime ltd2) {
        Long timeDiff = ChronoUnit.MINUTES.between(ldt1, ltd2);
        if(timeDiff > 30 || timeDiff < 0) 
           return false;
        return (ldt1.getMinute() <= 30 && ltd2.getMinute() <= 30) || (ldt1.getMinute() > 30 && ltd2.getMinute() > 30 ) ? true : false; 

    }

}

案例1

2019-06-10T18:40:09.122

2019-06-10T18:45:09.122

真的

案例2) 2019-06-10T18:46:56.350 2019-06-10T19:06:56.350 false

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56524844

复制
相关文章

相似问题

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