将 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?
我的 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?