繁体   English   中英

我应该在Android的Date中使用哪个类?

[英]What class should I use for Date's in Android?

我目前正在为Android制作应用程序,但我不确定哪个类实际上最好用。

我需要处理的是与我合作的日期,例如比较日期,获取它们之间的差异以及日期计算(例如添加/减去一小段时间,例如两周或一个月)任何给定的日期)。

我知道Java API中的标准Date类很糟糕,所以我只是想知道推荐哪些类?

我见过GregorianCalendar类和Joda Time库。 但是,我在帖子中读到,由于Joda Time库的大小,不建议用于应用程序。

任何帮助将非常感激。 ^^

编辑:根据404notfound的评论,我决定使用Calendar界面。 这是由于Calendar界面根据用户设备的区域设置和时区自动使用它的最佳实现。 这将使其在实现GregorianCalendar(或其他特定实现)方面更灵活,就可以将其推广到的地方而言。

希望这对任何有同样难题的人都有帮助!

编辑#2:在进一步查看NguyễnHoàiNam提供的链接后,我选择了ThreeTenABP库,因为它是Java 8中新的Time类的包装器,并且将证明其使用比使用更流畅。日历方法。

我建议将ThreeTenABP库作为更好的替代方案(因为我已经迁移了类似的应用程序)。 该库是Android的ThreeTenBP的后端,后者又是最新Java 8的Date Time API(同一创建者)的Java 6的后端。 (我建议您首先查看Java 8 Date Time API的优缺点。)请注意,ThreeTenBP提供了一些与Joda Time类似的动词,因此您不会很难迁移它们。 最后,正如本文中所注意到的,方法计数,lib大小等在Android中始终是一个问题。 这个lib解决了这个。

编辑添加使用指南。

  • 将此lib添加到build.gradle

    compile 'com.jakewharton.threetenabp:threetenabp:1.0.1'

  • 如果没有,请创建Application类。 例如,您的包是:com.example.app,在该包下放置一个名为MyApplication.java的新文件。 Snippet在这里MyApplication

  • 更新AndroidManifest.xml <application>标签:在<applicationandroid:name=".MyApplication"下添加此行android:name=".MyApplication"

  • 运行你的应用程序

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM