繁体   English   中英

如何从 Cloud-Firestore 读取日期(时间戳)?

[英]How can I read date ( timestamp ) from Cloud-Firestore?

我有一个 ProfileFragment,我想在其中显示用户的个人资料。 我还在 Firestore 中添加了出生日期,现在我想在他的个人资料中为当前用户显示它,我该怎么做? 我必须将其转换为字符串还是应该怎么做? 我尝试使用.toString() 将其设为字符串,但未显示。如果我让它这样或将其设为日期,当我尝试将“setText”设置为 TextView 变量时,它将向我显示错误。

TVbirthdate = getActivity().findViewById(R.id.birthdateinfo);
Timestamp birthResult = task.getResult().getTimestamp("Birth Date");
TVbirthdate.setText(birthResult.toDate());

谢谢!

您必须先将timestamp转换为实际日期格式,然后才能在setText()方法上使用它。 请参阅下面的示例转换器 function:

private String getDate(long time) {
    Calendar cal = Calendar.getInstance(Locale.ENGLISH);
    cal.setTimeInMillis(time);
    String date = DateFormat.format("dd-MM-yyyy", cal).toString();
    return date;
}

转换后,您现在可以使用setText()方法设置此日期。 请参阅下面的示例代码:

// birthResult here is the Timestamp object from Firestore
TVbirthdate.setText(getDate(birthResult));

如果您的用例无法使用上述代码,您也可以使用SimpleDateFormat 请参阅下面的示例实现:

Date dataDate = birthResult.toDate();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
TVbirthdate.setText(sdf.format(dataDate));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM