当前位置: 首页 > 知识库问答 >
问题:

如何根据日期和时间自动标记arraylist中的相关记录?

柳英豪
2023-03-14

我在设计一个简单的COVID19追踪系统。每次客户(ArrayList中的对象)访问商店(ArrayList中的对象)时,系统都会创建存储在ArrayList中的访问对象。

超类的详细信息。

public class Details {

  private String name;
  private String phoneNumber;
  private Status status;

  // Customer
  public Details(String name, String phoneNumber, Status status) {
    this.name = name;
    this.phoneNumber = phoneNumber;
    this.status = status;
  }

我正在使用java.time包创建datetime和Visit对象,如下所示

public class Visit extends Details {
    
    private String dateTimeFinal;
    private String shopName;
    
    public Visit(String name, String phoneNumber,String shopName, Status status) {
        super(name, phoneNumber, status);
        this.shopName = shopName;
        LocalDateTime dateTime = LocalDateTime.now();
        DateTimeFormatter dateTimeFormatted = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss");
        dateTimeFinal = dateTime.format(dateTimeFormatted);
    }

我的客户类构造函数如下所示

public class Customer extends Details {
  
  private String password;

  public Customer (String name, String phoneNumber, String password, Status status){
    super(name, phoneNumber, status);
    this.password = password;
  }

我的shop类构造函数如下所示

public class Shop extends Details{

  private String managerName;
  
  public Shop(String name, String phoneNumber, Status status, String managerName){
    super(name, phoneNumber, status);
    this.managerName = managerName;
  }

我在另一个文件中也有一个状态枚举,看起来如下所示

public enum Status{
  NORMAL,
  CASE,
  CLOSE    
}

我现在想要完成的是,如果一个被标记为CASE的客户访问了一个商店,那么在之前和之后的1小时时间范围内访问该商店的所有客户都将自动被标记为密切接触(close)。我还想知道如何创建不是localdatetime.now的time&date,因为我需要生成访问来测试标记算法是否工作。

共有1个答案

宋正真
2023-03-14

使用LocalDateTime.of()方法之一(可在此处找到)创建特定时间。

要跟踪可能的标志,一个解决方案是跟踪商店的最后一次有风险的访问,每次对该商店进行新的访问时,检查它是否足够最近,如果是,则更新访问商店客户状态。使用LocalDateTime.minusHours()比较时间。

 类似资料:
  • 我有两段XML,其中一部分是:

  • 问题内容: 我有以下带有重复信息的示例数据: 根据上述数据集,如何删除重复的Emp ID,而仅保留指定了最大日期/时间的Emp ID? 因此,根据以上内容,我只会看到ID:1、3和5。 谢谢。 问题答案: 就像是:

  • 我有一个表格管理器,其中有日期、电话号码、用户等列。 我想从2014年1月1日至2014年1月31日之间的表格中检索记录,比如说我想要电话号码。该操作就像每天将50到100个数字插入表中一样,我想查看在特定的星期或特定的日期间隔插入的数字。 我使用的是postgres,我的日期列是varchar类型。我试图在一个java web应用程序中实现这一点,并且将使用jquery日期选择器来选择日期。 样

  • 问题内容: 我需要将unix时间戳转换为日期对象。 我尝试了这个: 时间戳值为: 日期应该是“ 2019/07/30-22:30:00”(因为我是通过PHP获取的),但我却得到了。 应该怎么做? 问题答案: 对于,请乘以1000,因为java期望的是毫秒: 如果你已经有毫秒,那么 ;

  • 问题内容: 如何根据生效日期获取当前记录?我应该使用子查询吗?除了MAX,我还有什么可以使用的吗? 我有这些表示例。 我的目标是获取 当前 属于用户放入的OrganizationUnit的所有ResourceID 。例如,如果用户将 SMESM1HTOVEOVE 放入OrganizationID参数中,则它将拉出当前位于 SMESM1HTOVEOVE 下的所有 ReourceID 。到目前为止,我

  • 问题内容: 我想知道如何在日期过期时自动删除记录,我正在创建机票预订网站。我需要从mysql数据库中删除所有过期的航班详细信息。我读过可以使用cron的地方,但我不知道该怎么做。脚本的任何帮助将非常有帮助。 问题答案: 您可以尝试使用MySQL : 注意 ,需要在服务器上启用MySQL Event Scheduler : 更多信息在这里。