您好我正在创建一个Android应用,列出校园周围发生的本地事件。每个"事件"有孩子用于存储标题,图像,类别,信息和日期。我想知道删除过去当前日期的事件的最佳方法是什么。日期格式为mm / dd / yy。我在使用Java中的日期函数方面没有多少经验,可以使用一些建议。
这是example of an event。以下是source code供参考。非常感谢任何帮助。
答案 0 :(得分:1)
最佳做法是将您的数据保存为TIMESTAMP
ServerValue.TIMESTAMP
。
DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
Map<String, Object> map = new HashMap<>();
map.put("time", ServerValue.TIMESTAMP);
ref.child("yourNode").updateChildren(map);
为了获得数据,我建议你使用这种方法:
public static String getTimeDate(long timeStamp){
try{
DateFormat dateFormat = getDateTimeInstance();
Date netDate = (new Date(timeStamp));
return dateFormat.format(netDate);
} catch(Exception e) {
return "date";
}
}
要解决您的问题,您只需从数据库中获取日期并将其与当前日期和时间进行比较。如果TIMESTAMP
的值小于当前日期和时间,则可以删除该特定事件。
希望它有所帮助。
答案 1 :(得分:0)
您可以按日期过滤火灾基地响应
前:
DatabaseReference mDatabaseReference =FirebaseDatabase.getInstance().getReference().child("table name");
ref.orderByChild("date").startAt(startDate).endAt(endDate).on("child_added", function(snapshot){
console.log("got the data!", snapshot);
});