java,将时间转换为儒略日

  • 背景
    对于看到这份文档者,关于儒略日是什么,相信已经是知道什么是儒略日,如果你对儒略日是什么不了解,请自行百度。写这份文档的目的只是在记录怎么在java或kotlin下进行儒略日与时间的互相转换。

儒略日的转换,网上提供的方法,大都是自己写代码,虽然自己编写转换程序并不困难,但没有必要重复发明轮子,因为儒略日的转换非常简单,也不想自己维护一套代码。对python,有着现成的库可以完成转换,在网上找了一圈java相关的库,几乎全是自己编写代码,最终找到jodd可以处理儒略日的转换。本文档的代码是kotlin编写。

  • 配置grale
    jodd在5.0,4不在支持jodd.datetime.JDateTime,由jodd-core中的jodd.time.JulianDate进行处理,jodd是第三库,由于我使用的是gradle,下面只给出gradle的配置方法,其他的配置方法,可以查看jodd的官网。
    //compile 'joda-time:joda-time:2.10'
    compile 'org.jodd:jodd-core:5.0.4'
  • 转换
    import jodd.time.JulianDate
    import java.time.ZoneId
    import java.time.ZonedDateTime
    fun main(args: Array<String>) {
    //    得到儒略日,儒略日是以格林尼治的区时为准,所以需要进行时区转换
    val defaultZone = ZoneId.systemDefault()
    val localT = ZonedDateTime.of(2018, 9, 15, 20, 0, 0, 0, defaultZone)
    val utcT = localT.withZoneSameInstant(ZoneId.of("UTC"))
    val jdT = JulianDate.of(utcT.toLocalDateTime())
    println(jdT)
    //    从儒略日得到日期,得到的是格林尼治的时间,要得到本地时间,需要进行时区转换,用用java.time库进行时区转换
    val jdT1 = JulianDate(2458377.0)
    println(jdT1.toLocalDateTime())
    }

转载于:https://blog.51cto.com/penguintux/2175671

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值