我正在将iOS应用程序移植到Android(目标API为22)。我做了很多Date / TimeInterval的工作。我使用UTC进行所有操作,因此对我有用。
我在为Android使用什么方面苦苦挣扎。有日期(从时间开始,哈哈)。我想我可以通过将time
毫秒属性转换为/来进行持续时间数学运算。我不清楚适用于哪些区域/规则。
我看到有人似乎将“日历”用作“日期”对象并将其传递。似乎有点不对。
然后有新的Java 8 java.time东西,实际上看起来很完整(ZonedDateTime,Duration等)。但这是API 26及更高版本。有可靠的后端口吗?
我的需求非常基本(我认为):
能够显示/字符串化当前/本地时区的时间
...以及作为奖励
答案 0 :(得分:1)
是的,有一个“ Java 8程序”的反向移植,也称为 java.time 或仅是现代Java日期和时间API。反向端口甚至专门针对Android进行了修改。
org.threeten.bp
导入日期和时间类。有人告诉我依赖性是:
compile group: 'org.threeten', name: 'threetenbp', version: '1.3.3', classifier: 'no-tzdb'
很抱歉,我自己没有使用ThreeTenABP的经验。我对java.time的经验表明,这正是您所需要的。 backport是由开发 java.time 的人开发的,因此我立即假设它是可靠的。唯一的限制似乎是它没有随着Java 9及更高版本中添加到java.time的(次要)新功能而升级。
java.time
。java.time
。java.time
向Java 6和7(JSR-310的ThreeTen)的反向端口。