gpt4 book ai didi

android - 将 ServerValue.TIMESTAMP 转换为日期

转载 作者:行者123 更新时间:2023-11-29 01:04:20 24 4
gpt4 key购买 nike

我已经放置了一个按钮来将当前日期和时间保存到我的 Firebase 数据库中。

private void saveTime() {
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
rootRef.child(Uid).child("time").setValue(ServerValue.TIMESTAMP);
}

我正在尝试将服务器日期与我保存在数据库中的日期进行比较。所以请帮我比较一下。

 private void Compare() {

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference ezzeearnRef = rootRef.child(Uid).child("time");
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
Long time = dataSnapshot.getValue(Long.class);
assert time != null;
Date oldDate = new Date(time);
GregorianCalendar oldCalendar = new GregorianCalendar();
oldCalendar.setTime(oldDate);
GregorianCalendar newCalendar = new GregorianCalendar();


Map<String, String> now = ServerValue.TIMESTAMP;
newCalendar.setTime((Date) now);

if (newCalendar.get(Calendar.DATE) != oldCalendar.get(Calendar.DATE) ||
newCalendar.get(Calendar.MONTH) != oldCalendar.get(Calendar.MONTH) ||
newCalendar.get(Calendar.YEAR) != oldCalendar.get(Calendar.YEAR)

) {
// new day starts toast
}


}else{
// toast
}
}

@Override
public void onCancelled(DatabaseError databaseError) {

}
};
ezzeearnRef.addValueEventListener(eventListener);

}

最佳答案

ServerValue.TIMESTAMP它不是真正的时间戳 Map 所以你不能像这样将它转换为日期

Map<String, String> now = ServerValue.TIMESTAMP;
newCalendar.setTime((Date) now);

时间戳值将从服务器存储

关于android - 将 ServerValue.TIMESTAMP 转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48458486/

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