如何删除"过期"或者超过Android Studio上的当前日期?

时间:2017-04-25 22:00:56

标签: android firebase firebase-realtime-database

您好我正在创建一个Android应用,列出校园周围发生的本地事件。每个"事件"有孩子用于存储标题,图像,类别,信息和日期。我想知道删除过去当前日期的事件的最佳方法是什么。日期格式为mm / dd / yy。我在使用Java中的日期函数方面没有多少经验,可以使用一些建议。

这是example of an event。以下是source code供参考。非常感谢任何帮助。

2 个答案:

答案 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);
});