【问题标题】:Exclude date in timestamp from Firestore从 Firestore 中排除时间戳中的日期
【发布时间】:2021-08-26 08:22:41
【问题描述】:

我只是想问一下,有没有办法从 Firestore 中排除 Timestamp 中的日期?比如,我只想显示小时和分钟。

例如,我下面代码的输出是 "Date: Tue Aug 24 23:59:00 GMT+08:00 2021"

holder.binding.tvTimeIn.setText(employeeModel.getTime_in().toDate().toString());

而且我只想显示 "23:59:00" 部分。

【问题讨论】:

    标签: java android firebase google-cloud-firestore


    【解决方案1】:

    您在数据库中存储的是一个 Firestore Timestamp 对象,它表示一个具有纳秒精度的时间点。如果你只想显示时间,那么你必须像这样格式化它:

    Date date = employeeModel.getTime_in().toDate()
    SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
    String time = sdf.format(date);
    holder.binding.tvTimeIn.setText(time);
    

    或者,如果这是您的要求,您可以只将时间以字符串格式存储在数据库中。

    【讨论】:

    • Firestore Timestampjava.time 不直接兼容,为什么?
    • @deHaar 因为这些类之间没有继承关系。
    • @deHaar 是的,这是一种转换,而不是继承关系。 toDate(),返回与时间戳对应的新日期。
    • @deHaar 是的,没错。但请注意,toInstant() 仅从 Java 8 开始可用。在早期版本中不可用。
    • @AlexMamo 当然,我知道... Java 6 和 7 有向后移植,但它们之间需要再次转换。但是,这件事已经(对我)澄清了,谢谢。
    猜你喜欢
    • 1970-01-01
    • 2019-10-06
    • 2020-04-02
    • 2015-10-11
    • 1970-01-01
    • 1970-01-01
    • 2018-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多