gpt4 book ai didi

java - Android Studio 将 Firebase 中的日期子项与日期设备进行比较

转载 作者:行者123 更新时间:2023-12-02 09:51:09 27 4
gpt4 key购买 nike

如何将用户注册时注册的日期和月份与所用设备的日期和月份(firebase child:Cumpleaños)进行比较?这就是我尝试过的

firebase database child Cumpleaños: 08-Nov

   protected void onStart() {
super.onStart();
CumpleañosRef = FirebaseDatabase.getInstance().getReference().child("Usuarios").child(CurrentUserID);
Calendar calendar = Calendar.getInstance();

final SimpleDateFormat currentDate = new SimpleDateFormat("dd-MMM", Locale.getDefault());
saveCurrentDate = currentDate.format(calendar.getTime());
CumpleañosRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (dataSnapshot.child("Cumpleaños").equals(currentDate))
{
relativeLayout.setBackgroundColor(Color.parseColor("#dd89d7"));
}
else
{
relativeLayout.setBackgroundColor(Color.parseColor("#ffffff"));
}
}

@Override
public void onCancelled(@NonNull DatabaseError databaseError) {

}
});
}

需要当 Firebase 子项和设备的日期一致(日和月)时更改背景颜色。谢谢

最佳答案

您始终可以通过调用 getValue() 获取子项的值(检查 null 以避免 NullPointerExceptions)

String dateAsStringFromDB = dataSnapshot.child("Cumpleaños").getValue();

获得字符串值(例如“09-Nov”)currentDate 来解析日期后

Date realtimeDate = currentDate.parse(saveCurrentDate);
Date dateFromDB = currentDate.parse(dateAsStringFromDB);

然后使用 compareTo() 方法比较日期

if(realtimeDate.compareTo(dateFromDB) == 0 ){
// do stuff ..

}

不要忘记避免空指针和强制转换异常

关于java - Android Studio 将 Firebase 中的日期子项与日期设备进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56317187/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com