2017-03-27 358 views
-1

我有一個形象的模型保存日期時間

@Entity 
public class Image { 

@Id 
@GeneratedValue(strategy = GenerationType.AUTO) 
@Column(name = "ID") 
private Long id; 

@Column(name = "CAPTION") 
private String caption; 

@Column(name = "IMAGE_PATH") 
private String imagePath; 

@Column(name = "IMAGE_NAME") 
private String imageName; 

@Column(name = "NUMBER_OF_VIEW") 
private Integer numberOfView; 

@Column(name = "PUBLISH_TIME") 
private Date publishDate; 

當用戶上傳的圖像,他選擇日期,時間和圖像模型,這種格式保存publishDate日期「YYYY -MM-DD HH ::在database.Now毫米」格式我有一個調度

@Scheduled(cron = "*/5 * * * * ?") 
public void sendNotification() { 
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm"); 
    Date currentDate = new Date(); 

    List<ImageInfo> listImageInfo = imageInfoDao.getImageOfParticularDate(currentDate); 
    if (listImageInfo.size() > 0) { 

     List<User> listUser = userDao.getAppUser(ACTIVE); 
     for (ImageInfo imageInfo : listImageInfo) { 
      for (User user : listUser) { 
       pushNotification(user.getRegId(), pushGroupNumNotification(imageInfo.getGroupNum())); 
      } 
     } 
    } 
} 

重複地檢查每5秒的系統時間是否等於uploded圖像發佈time.how我可以檢查這種平等。我使用日期。我應該使用日期時間?

回答

1

java.util.Date.equals()compare dates based on milliseconds自1970年1月1日,00:00:00 GMT以來。因爲您正在以微小粒度對它們進行初始化並基於分鐘進行比較,因此所有其他更細化的時間單位都將設置爲默認值(秒,毫秒等)並因此相匹配,因此此方法就足夠了。

只要確保您使用正確的格式化程序。在你的問題中,你首先將寫入數據庫的格式稱爲「yyyy-MM-dd HH :: mm」,但在你的代碼中使用「yyyy/MM/dd HH:mm」。