私は、EditTextとDateTimePickerダイアログを使ってfirestoreデータベースに日付を保存しようとしていました。問題は、日付がサーバー上に文字列として格納されることです。 FieldValue.serverTimestamp()
を使用すると、サーバーのタイムスタンプがフィールドに保存されますが、DateTimePickerダイアログから返された日付をタイムスタンプとして保存します。アンドロイドEditTextとDateTimePickerダイアログを使用してfirestoreにタイムスタンプを保存する方法
FirebaseFirestore db2 = FirebaseFirestore.getInstance();
Map<String, Object> addAnimal = new HashMap<>();
addAnimal.put("dob", editText.getText());
db.collection("users").document("animals")
.set(addAnimal)
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Log.d(TAG, "DocumentSnapshot successfully written!");
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.w(TAG, "Error writing document", e);
}
});
日を文字列として保存されつつある。