首页 > 解决方案 > 从 TimePeriod 和 StartDate 创建 Julia 日期时间

问题描述

我想将表示自 0001 年 1 月 1 日午夜 12:00:00(公历 0001 年 1 月 1 日 0:00:00 UTC)以来经过的微秒数的 Int64 转换为 Julia 日期时间。

julia> time = Dates.Microsecond(6369175082331949400)

julia> Dates.format(time, "yyyymmdd HH:MM:SS.sss")

标签: julia

解决方案


如果您需要 DateTime,只需确保您的 Int64 以毫秒为单位正确,并且您可以使用(未​​记录的)UTInstant 构造函数,然后再添加小数微秒(注释:您的示例编号,6369175082331949400,对于最近的公历来说似乎很大时间以微秒为单位,可能是纳秒):

julia> using Dates


julia> t = now().instant
Dates.UTInstant{Millisecond}(63694318624788 milliseconds)

julia> dump(t)
Dates.UTInstant{Millisecond}
  periods: Millisecond
    value: Int64 63694318624788

julia> t2 = Dates.UTInstant(Millisecond(63691750823319))
Dates.UTInstant{Millisecond}(63691750823319 milliseconds)

julia> DateTime(t2)
2019-04-24T01:00:23.319

julia> t3 = DateTime(t2)+ Dates.Microsecond(494)
2019-04-24T01:00:23.319

推荐阅读