【问题标题】:Firestore Failed to convert value of type java.lang.String to DateFirestore 无法将 java.lang.String 类型的值转换为 Date
【发布时间】:2018-04-13 18:28:37
【问题描述】:

我的 Firestore 日期格式

在我的片段中,我以这种方式获取日期

Query query = fb.collection("jobs")
                .orderBy("date", Query.Direction.ASCENDING);
 protected void onBindViewHolder(@NonNull JobsViewHolder holder, int position, @NonNull JobsLists jobsmodel) {
                holder.setDate(jobsmodel.getDate());
...
    public void setDate(Date date) {
                da =  view.findViewById(R.id.date);
                SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
                String dateString = sdf.format(date);
                da.setText(dateString);
            }

我的工作类

    private Date date;
    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }

当我在 FireStore 中插入日期时,我是这样写的

String date_val= new SimpleDateFormat("yyyy-MM-dd",Locale.getDefault()).format(new Date());  
      jobs.put("date",date_val);

请帮帮我!我应该改变什么?

【问题讨论】:

标签: java android firebase google-cloud-firestore


【解决方案1】:

您不必在保存之前将日期转换为格式,只需将日期对象传递到数据库即可:

  jobs.put("date",new Date());

这将使 firebase 在尝试从数据库中检索数据时更容易解析它。

【讨论】:

  • 完整 logcat:` java.lang.RuntimeException: 无法反序列化对象。无法将 com.google.android.gms.internal.zzeym.zzb(未知来源)的 com.google.android.gms.internal 的 java.lang.String 类型的值转换为日期(在字段“日期”中找到)。 zzeym.zza(未知来源)`
  • 您删除了数据库中的内容吗?
  • 我认为相同的prb,即使我完全删除了数据库中的日期字段,它仍然会继续发生,然后突然停止,可能需要时间来更新。我怎样才能更快地更新呢?
  • 还有一件事如果你能给我一些关于如何从网站获取新闻并将它们显示为片段的建议?
猜你喜欢
  • 1970-01-01
  • 2019-12-09
  • 1970-01-01
  • 2016-02-21
  • 2021-09-02
  • 2020-07-02
  • 2021-02-03
相关资源
最近更新 更多