【问题标题】:Convert a date stored as String to Date and extract only the year in it [duplicate]将存储为字符串的日期转换为日期并仅提取其中的年份[重复]
【发布时间】:2018-10-02 11:24:02
【问题描述】:

我一直在寻找答案,但找不到与我对应的答案。

我已将一个人的出生日期存储在 firebase 作为字符串。我已经使用onDataChange 正确检索了它。但是当我需要计算那个人的年龄并且我无法从那个字符串中提取年份时,问题就出现了。谁能帮帮我?

谢谢

【问题讨论】:

  • 是的,不要将日期保存为字符串;)计算和排序要困难得多
  • 谢谢,按照以下步骤解决了问题

标签: android firebase android-studio firebase-realtime-database


【解决方案1】:

拆分你的字符串并像这样取最后一个值:

int year = Integer.parseInt(date.split("/")[2]);

【讨论】:

  • 不,我试过了,但它不起作用。这是我的代码 myDB.addValueEventListener(new ValueEventListener() { Override public void onDataChange(NonNull DataSnapshot dataSnapshot) { additionalDetails AD = dataSnapshot.getValue(additionalDetails.class); String dob = AD.getDOB(); int year = Integer.parseInt (dob.split("/")[2]); testDate.setText(year); } 覆盖 public void onCancelled(@NonNull DatabaseError databaseError) { } });
  • 好吧... setText 方法接受 String 所以你应该把 date.split("/")[2] 放在那里
  • 我已经解决了这个问题。由于setText不显示int值,需要使用String.valueOf()进行转换,非常感谢!
猜你喜欢
  • 1970-01-01
  • 2020-08-26
  • 1970-01-01
  • 2021-10-16
  • 1970-01-01
  • 2017-12-25
  • 1970-01-01
  • 1970-01-01
  • 2019-12-19
相关资源
最近更新 更多