Java 转换为UTC后的日期时间比较

Java 转换为UTC后的日期时间比较,java,spring-boot,datetime,utc,Java,Spring Boot,Datetime,Utc,我有一个场景,我想检查当前UTC时间是否在两个UTC日期的范围内 我们通过将UTC FromTime和ToTime从IST(用户时区)转换为创建时间表来获得UTC FromTime和ToTime 因此,当从客户端创建计划时,FromTime和ToTime将转换为UTC并发送到服务器并保存到数据库中,并且选定的DayID也存储在数据库中(sun->1,mon->2,…sat->7) 现在,无论何时请求到来,我们都必须为用户提供该特定时间间隔的访问权,就像我们必须在该特定时间/按照时间表向用户提供访

我有一个场景,我想检查当前UTC时间是否在两个UTC日期的范围内

我们通过将UTC FromTime和ToTime从IST(用户时区)转换为创建时间表来获得UTC FromTime和ToTime

因此,当从客户端创建计划时,FromTime和ToTime将转换为UTC并发送到服务器并保存到数据库中,并且选定的DayID也存储在数据库中(sun->1,mon->2,…sat->7) 现在,无论何时请求到来,我们都必须为用户提供该特定时间间隔的访问权,就像我们必须在该特定时间/按照时间表向用户提供访问令牌一样

FromTime在客户端上显示给用户:00:00:00 在客户端上向用户显示的时间:23:59:59

IST到UTC是实际时间的-05:30:00,因此转换为-

FromTime保存在数据库中(UTC):18:30:00 保存在数据库中的总时间(UTC):18:29:59

必须授予访问权限的日期也存储在数据库中。 但是,当IST转换为UTC时,dayId将作为前一天的日期保存在数据库中

Sr.No CurrentTime       Duration    FromTime    ToTime      FromDateTime        DateWithDuration 
1     19 Oct 20:00:00   23:59:59    18:30:00    18:29:59    19 Oct 18:30:00     20 Oct 18:29:59
2     20 Oct 02:00:00   23:59:59    18:30:00    18:29:59    20 Oct 18:30:00     21 Oct 18:29:59
由于无法比较FromTime和ToTime,因此只有日期具有当前日期,并且FromTime被添加到其中(FromDateTime)

因此,即使将FromDateTime和TodateTime添加到当前日期,CurrentTime也不会介于FromDateTime和TodateTime之间

以下是我们已经实现的伪代码:

if(CurrentTime.after(FromDateTime) && CurrentTime.before(DateWithDuration))
{
    // Give Access Token
}
因此,在第二种情况下,这是失败的
此外,我们还必须检查当前日期是否是用户可以访问的日期,但数据库中存储的dayId将只包含UTC转换的日期,而不包含第二天的日期。

这不是设计问题吗?您不应该在UTC中同时存储日期和时间吗?另外,客户是否会一直在印度?