Firestore无法将java.lang.String类型的值转换为Date

时间:2018-04-13 18:28:37

标签: java android firebase google-cloud-firestore

我的Firestore日期格式

FireStore Date Format

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

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);

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

1 个答案:

答案 0 :(得分:1)

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

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

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