如何将firebase firestore时间戳转换为长值?

时间:2018-03-05 15:53:38

标签: android firebase google-cloud-firestore

尝试将firestore时间戳转换为字符串,我得到了这个!

enter image description here

我尝试String date = FieldValue.serverTimestamp().toString();而不是时间戳我得到了这个,如屏幕截图1

2 个答案:

答案 0 :(得分:1)

Firestore数据库中的日期必须存储为Date对象,如 The error message in the design sutdio 所述。假设您的模型类中有名为getDate()的公共getter,要打印日期,请使用以下代码:

Date date = yourModelClass.getDate();
if (date != null) {
    DateFormat dateFormat = SimpleDateFormat.getDateInstance(DateFormat.MEDIUM, Locale.US);
    String creationDate = dateFormat.format(date);
    Log.d("TAG", creationDate);
}

您实际打印的内容是内存中FieldValue类的地址。

答案 1 :(得分:0)

好吧所以toString()不会输出格式化的日期,因为语句FieldValue.serverTimestamp()返回的对象是Date对象,所以你可以做这样的事情来处理日期格式化。

Date now = FieldValue.serverTimestamp();
SimpleDateFormat dateFormatter = new SimpleDateFormat("E, y-M-d 'at' h:m:s a z");
Log.i("Format 1:   ", dateFormatter.format(now));