java - Firestore 无法将 java.lang.String 类型的值转换为日期

标签 java android firebase google-cloud-firestore

我的 Firestore 日期格式

FireStore Date Format

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

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

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

最佳答案

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

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

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

关于java - Firestore 无法将 java.lang.String 类型的值转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49823151/

相关文章:

java - 将字符串解析为对象

java - 从 Servlet 获取复选框值

c# - 如何在 xamarin android 项目上集成 webrtc android native 库?

java - Android 蓝牙打印未按预期工作

ios - iOS 上的 assertUnfrozen

android - Firebase 测试实验室 - 如何在 Robo 测试中执行 Facebook 登录?

java - 为什么 Java 要定义包名?

java - 如何在 switch case 中使用 Map 中的 int 值?

java - android lollipop 上 sslsocket 中的 OutputStream 问题

firebase - 如何使用控制台在 firebase 实时数据库中添加根级节点