我正在尝试将Date实例转换为LocalTime实例.
// Create the Date
Date date = format.parse("2011-02-18 05:00:00.0");
// Convert to Calendar
Calendar cal = Calendar.getInstance();
cal.setTime(date);
// Convert Calendar to LocalTime
Instant instant = Instant.ofEpochMilli(cal.getTimeInMillis());
LocalTime convert = LocalDateTime.ofInstant(instant, ZoneId.systemDefault()).toLocalTime();
Run Code Online (Sandbox Code Playgroud)
我没有得到编译器错误,但LocalTime实例值是错误的.
我认为它不起作用,因为Date存储时间fasttime而不是cdate.
我正在使用JDK 1.8版.
我正在使用a FirebaseRecyclerAdapter来RecyclerView扩充Firebase实时数据库提供的数据.
我开始按他们的孩子对节点进行排序,该子节点date被设置为值ServerValue.TIMESTAMP.我向indexOn要使用dateFirebase数据库规则值排序的节点的父节点添加了一个属性.
"parent-node": {
".read": "auth != null",
".write": "auth != null",
".indexOn" : "date",
...
},
Run Code Online (Sandbox Code Playgroud)
这工作正常,但更新的节点添加到我的结尾RecyclerView.作为FirebaseRecyclerAdapter和它的FirebaseArray添加节点ChildEventListener,它意味着数据从最旧到最新排序.
我设法通过使用负值来反转这个ServerValue.TIMESTAMP.
private void prepareUpload() {
//mDatabase is a reference to the root of the Firebase Database
final DatabaseReference timestampReference = mDatabase.child("timestamp");
final String timestampKey = timestampReference.push().getKey();
timestampReference.child(timestampKey).setValue(ServerValue.TIMESTAMP);
timestampReference.child(timestampKey).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.getValue() …Run Code Online (Sandbox Code Playgroud) 这是我的数据库:
{
"UID1" : {
"KEY" : {
"Name" : "name1",
"Email" : "something1@something.com",
"userid" : "UID1"
}
},
"UID2" : {
"KEY2" : {
"Name" : "name1",
"Email" : "something1@something.com",
"userid" : "UID2"
},
"KEY3" : {
"Name" : "name2",
"Email" : "something2@something.com",
"userid" : "UID2"
},
"KEY4" : {
"Name" : "name3",
"Email" : "something3@something.com",
"userid" : "UID2"
}
}
Run Code Online (Sandbox Code Playgroud)
我想更新和删除例如位于"KEY2"位置的数据.
我怎样才能做到这一点?我尚未在Android中尝试过任何代码.