热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何将JodaInstant转换为LocalDate,反之亦然?

如何解决《如何将JodaInstant转换为LocalDate,反之亦然?》经验,为你挑选了1个好方法。

我了解Joda Instant与Unix Timestamp类似,因为它存储自1.1.1970起的毫秒数。所以我想将它作为INTEGER插入我的Android SQLite数据库中。但是在我的应用程序中,我使用的是Joda LocalDate,因此我需要将LocalDate转换为Instants,反之亦然。

谁能告诉我如何?



1> Meno Hochsch..:

为了将转换LocalDateInstant,您需要一天中的时间和一个时区。该类LocalDate提供了toDateTime()方法,因此您可以使用此示例并根据需要进行调整:

LocalDate date = new LocalDate();
LocalTime time = LocalTime.MIDNIGHT;
DateTimeZone zOne= DateTimeZone.getDefault();
Instant instant = date.toDateTime(time, zone).toInstant();

反向也需要时区。

Instant instant = Instant.now();
DateTimeZone zOne= DateTimeZone.getDefault();
LocalDate date = instant.toDateTime(zone).toLocalDate();

尽管可以在Joda-Time中省略zone参数(这将意味着系统时区),但我还是建议明确指定它以使时区依赖性更加清晰。相同的瞬间/时刻可能与全球各地的不同日期相关(由于某些位置的午夜更改或由于跨越国际日期线)。


推荐阅读
author-avatar
手机用户2602937913
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有