如何在listview项目中存储日期?

时间:2017-12-21 15:58:30

标签: java android date listview

所以我想在listview的每个项目中添加当天的日期。问题是我不知道如何存储日期,即使昨天或一周前输入了项目,日期也会保持更新到当天。

这是日期的代码

   Calendar cal = Calendar.getInstance();
    SimpleDateFormat month_date = new SimpleDateFormat("dd" + " MMM");
    String month_name = month_date.format(cal.getTime());

这是在listview项目

中输入的日期代码
  while ((iterator2.hasNext() )) {
        String add = iterator2.next();
        conCat2.add("Added : " + add + "    "+ month_name);


    }

2 个答案:

答案 0 :(得分:1)

java.time

您正在使用现在取代java.time类的麻烦的旧日期时间类。对于较旧的Android,请参阅ThreeTen-Backport和ThreeTenABP项目。

MonthDay class

MonthDay课程用于没有一年的日期。请注意,与旧版类不同,java.time使用合理的月份编号,1-12表示1月到12月。

MonthDay md = MonthDay.of( 1 , 23 ) ;

或者,使用Month枚举。

MonthDay md = MonthDay.of( Month.JANUARY , 23 ) ;

LocalDate

如果您指的是包含年份的整个日期,请使用LocalDate

LocalDate ld = LocalDate.of( 2017 , 1 , 23 ) ;

答案 1 :(得分:0)

问题主要是存储。您可以将日期存储在某处,以便您可以在自己方便的时候获取。您的选项实际上很宽泛。你可以通过以下方式实现这一目标:

  • 使用面向对象编程和Serializable的概念,您可以创建一个模型类,其中包含日期的set和get方法,为每个输入的项创建对象,然后使用serializable将对象存储到设备内存中。然后,您可以在加载列表视图时获取,这样您的日期将始终正确。设置一次,日期的值永远不会改变。要了解如何使用Serializable将数据存储到设备内存,请阅读此问题的接受答案:Object serialization in Java
  • 您可以保存在在线数据库(例如Firebase)中,然后在需要时进行提取。我建议您学习使用Firebase的教程。这个链接:https://firebase.google.com/docs/database/android/start/将为您提供一个开端。
  • 存储在其他数据库中。