【发布时间】:2017-10-06 10:50:56
【问题描述】:
嘿,我试图在单击按钮时获取应用程序中的当前 TIMESTAMP,但 TIMESTAMP 不正确。 TIMESTAMP 有时显示提前时间,有时显示时间前 10 分钟。这是代码
timestapmReference.addValueEventListener(new ValueEventListener() {
public void onDataChange(DataSnapshot dataSnapshot) {
final long timeStampLong = (long) dataSnapshot.child("time").child("timestampQuestionSeen").getValue();
final DatabaseReference questionSeenReference = FirebaseDatabase.getInstance().getReference().child("users").child(uid).child("questions").
child(imagename);
questionSeenReference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (!dataSnapshot.hasChild("questionSeen")) {
questionSeenReference.child("questionSeenTime").setValue(timeStampLong);
questionSeenReference.child("questionSeen").setValue("1");
}
questionSeenReference.removeEventListener(this);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
timestapmReference.removeEventListener(this);
}
public void onCancelled(DatabaseError databaseError) {
}
});
timestapmReference.child("time").child("timestampQuestionSeen").setValue(ServerValue.TIMESTAMP);
【问题讨论】:
-
您是在模拟器还是在真实设备上测试您的应用?
-
我正在真实设备上测试它@AlexMamo
-
使用
ServerValue.TIMESTAMP是设置时间戳的正确方法,正如我所见,您的代码看起来不错。您在手机上设置的日期和时间是否正确?检查您的手机设置并将其与您的计算机时间进行比较。 -
我已经检查过它在所有地方的正确性,而且时间有时会提前 20 秒并返回 10 分钟,因此如果我的时间不正确,就不会出现这种情况。 @AlexMamo
标签: android firebase firebase-realtime-database timestamp