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

时间:2018-11-11 20:09:58

标签: android kotlin

我想在Android应用程序中创建Person类。在该课程中,我要存储此人的生日,然后再计算该日期(例如,他多大了,或者下一个生日还剩下多少天)。 我不知道如何执行此操作,尽管我尝试了多个类,例如Date(已弃用)和GregorianCalendar,但在API级别28(我使用API​​级别21)之后,这些类不可用。

2 个答案:

答案 0 :(得分:1)

使用ThreeTen Android Backportjava.time带到android pre API 26。

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

要在Kotlin中使用java.time来计算年龄,您可以使用(从this进行无耻改编)

  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存储库中的说明,如果遇到问题,请参见How to use ThreeTenABP in Android Project

答案 1 :(得分:0)

独立Java的<fieldset id="questRewardType"> <input id="questRewardType" type="radio" name="questRewardType" value="0" checked><font color="#FFFFFF"> Item</font> <br> <input id="questRewardType" type="radio" name="questRewardType" value="1"><font color="#FFFFFF"> Currency</font> </fieldset> 类在各种方面都很糟糕。避开它。如果您不能使用像Date这样的新Java 8,那么Joda-Time库将是一个很好的替代品。