【问题标题】:How to check available time for add new time schedule? [duplicate]如何检查可用时间以添加新的时间表? [复制]
【发布时间】:2018-02-24 05:49:47
【问题描述】:

我想开发一个用户可以分配的应用程序 时间表给他们的小组成员,问题是假设我已经 安排两个不同的时间,现在又想为同一个时间安排时间 那一天,我将如何检查是否还没有相同的时间表 分配与否

Date    Start Time  End Time    status 

15-09-2017  10:05   13:10   TRUE
15-09-2017  10:00   14:00   FALSE  because 10:00-13:10 is already scheduled
15-09-2017  08:20   09:00   TRUe
15-09-2017  09:30   10:05   TRUE
15-09-2017  09:40   10:05   false  `

【问题讨论】:

    标签: java android sqlite


    【解决方案1】:

    我向你推荐EPOCH时间格式。

    您可以转换日期+开始时间和日期+结束时间,例如:

    Start date : "15-09-2017 10:05" 
    End date : "15-09-2017 13:10"
    

    之后,您将此字符串转换为 EPOCH 格式,如下所示:

    String str = "15-09-2017 10:05";
    SimpleDateFormat df = new SimpleDateFormat("DD-mm-yyyy HH:mm");
    Date date = df.parse(str);
    long epoch = date.getTime();
    

    您在结束日期和开始日期都这样做。最后你会有 3 个长变量:

    long epochStartDate , epochEndDate, epochToBeInserted.
    

    在插入你的日程之前,你比较

    if(epochToBeInserted in [epochStartDate,epochEndDate]) => 插入 false 否则为 true。

    【讨论】:

    • 15-09-2017 10:00 14:00 FALSE,因为 10:00-13:10 已经安排好了。如何使用您的示例检查这种情况? if(epochToBeInserted in [epochStartDate,epochEndDate])
    • 啊,好吧,看,您需要在 2 个日期(开始和结束)内将 15-09-2017 10:00 14:00 转换为纪元,之后您将有 2 个变量(long1,long2)你转换 10:00-13:10,你会有 2 个新的 (var1, var2) ,然后你检查 (var2-var1) 是否在 (long1,long2) 之间,所以它是假的
    猜你喜欢
    • 1970-01-01
    • 2021-04-05
    • 2017-09-06
    • 2020-11-22
    • 1970-01-01
    • 2013-01-06
    • 2014-08-01
    • 2011-02-24
    • 1970-01-01
    相关资源
    最近更新 更多