将 Android Studio 中的日期选择器存储到 Firebase (Java)

Store Datepicker from Android Studio into Firebase (Java)

我的 android 工作室应用程序上有一个日期选择器。数据已成功显示为日期,但在 firebase 中它变成了一个随机数。这是我的代码

Calendar calendar = Calendar.getInstance();
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MMMM-YYYY");
    Date date_minimal;
    Date date_maximal;


DatePickerDialog datePickerDialog = new DatePickerDialog(context, new DatePickerDialog.OnDateSetListener() {
                    @Override
                    public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
                        calendar.set(year, month, dayOfMonth);
                        tgl_daftar.setText(simpleDateFormat.format(calendar.getTime()));
                        tgl_daftar_date = calendar.getTime();


database.child("user").push().setValue(new dataUser(
                            nama,
                            radioButton.getText().toString(),
                            jurusan,
                            tgl_daftar_date.getTime()

输入数据时,日期是这样的日期。 screenshot of data in app

但是在firebase中,就变成了这个样子

screenshot of firebase

我希望它在 firebase 中也显示为日期。我该如何解决?谢谢

您正在调用 tgl_daftar_date.getTime() 来存储 Date 对象。此方法documented为:

returns the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this Date object.

因此存储的数字是自 1970 年 1 月 1 日以来的毫秒数,通常也称为纪元。这是一种非常常见的存储时间戳的格式,尤其是在无法本地存储 Java 的 Date 对象的数据库中(例如 Firebase 的实时数据库)。

如果您现在存储 Date/timestamp,则值将为:

console.log(Date.now())

要将数据库中的值转换回 Java Date 对象,请参阅 How to convert currentTimeMillis to a date in Java?