当前位置: 首页 > 知识库问答 >
问题:

我如何在Kotlin/Android中表示日期?

禹昆
2023-03-14

我想在一个android应用程序中制作一个Person类。在那个类中,我想存储这个人的生日,然后用这个日期计算(例如他多大了,或者离他下一个生日还有几天)。我不知道如何做到这一点,尽管我尝试了几个类,比如Date(不建议使用)和GregorianCalendar,它在API级别28以下是不可用的(我使用API级别21)。

共有2个答案

伏德义
2023-03-14

的确,Java的Date类在很多方面都很糟糕;避开它。如果你不能使用像GregoriaCalendar这样的新Java 8工具,那么Joda时间库就是一个很好的替代品。

游鸣
2023-03-14

使用Three Ten Android Backport带来java。时间到android API 26之前。

然后,您可以使用LocalDate来表示没有时区信息的生日(因为它在所有时区都有效)。请参阅https://stackoverflow.com/a/39379431/4265739了解时间类的概述。

用于使用java计算年龄。时间在你可以使用的kotlin中(无耻地改编自此)

  val start = LocalDate.of(1996, 2, 29)
  val end = LocalDate.of(2014, 2, 28) // use for age-calculation: LocalDate.now()
  val years = ChronoUnit.YEARS.between(start, end)
  println(years) // 17

要了解如何安装,请按照github repo中的说明进行操作,如果遇到问题,请查看如何在Android项目中使用ThreeTenABP。

 类似资料:
  • 问题内容: PostgreSQL提供了格式数据类型来存储日期。这些日期的问题是,据我所知,它们无法解释不确定性。 有时人们不知道某事的完整日期,但知道它发生在1995年1月或“ 1999或2000”中()。可能有以下几个原因: 人们不记得确切的日期; 确切的日期从根本上是未知的:例如,某人在某天最后一次被人看到,几天后被发现死亡。或者 我们处理未来的事件,因此仍然有可能出现问题。 我想知道是否存在

  • 我试图传达身份验证/安全方案需要设置一个头,如下所示: 这是我根据swagger文档所做的:

  • 我想把一周中的几天放到屏幕上的周历里。基本上是获取一周中的天数并将其放入文本视图中,例如,今天是25号,然后取这个“25”并将其放入文本视图中,如此类推,但我没有成功。我试着这样: [在此输入图片描述][1] 当我运行应用程序时,它看起来像这样,有人能帮我吗?[1]: https://i.stack.imgur.com/jw89K.jpg

  • 问题内容: 只是想知道用UML中的一些片段或更具体地说是类图来表示活动的最佳方式是什么。 问题答案: 这取决于观点。 可以通过对象图或复合结构图来对片段进行最彻底的分析。 如果要建模其外部行为,则可以使用组件图或任何行为图。

  • 问题内容: 等待,不要着急回答“ java.util.Date”,请考虑以下情形。 具有2个字段的Person对象:“ birthday”和“ nextMeeting”均为java.util.Date。现在将生日作为日期类型列(无时间)存储在数据库中,例如。1979年1月10日,以及nextMeeting作为ex的日期时间类型。2010年1月10日20:00:00。 从数据库中拉出它,JDBC将自