相当于 Julia 中的 gmtime?

Equivalent of gmtime in Julia?

Julia 有 strftime 作为内置但没有 gmtime

julia> strftime
strftime (generic function with 3 methods)

julia> gmtime
ERROR: gmtime not defined

Julia 的首选方法是什么来完成 gmtime 的等效操作?想法是将自纪元以来的秒数转换为 Z (+00:00) 时区中的时间结构。在洛杉矶,我看到:

julia> strftime("%H:%M:%S", 0)
"16:00:00"

我想看看"00:00:00"。我可以在 Python:

>>> from time import strftime, gmtime
>>> strftime("%H:%M:%S", gmtime(0))
'00:00:00'

我尝试在 Julia 中使用 ccall 但它不起作用

julia> ccall( (:gmtime, "libc"), TmStruct, (Int64,), 0)
TmStruct(1590498096,32767,16041550,1,-1924564896,32744,1,0,0,0,0,0,1590498144,32767)

julia> strftime("%H:%M:%S", ans)
"16041550:32767:1590498096"

我的 ccall 出了什么问题?更好的是,是否有更好的全 Julia 方法来获得 gmtime 的效果?

看起来 gmtime 在 Julia 的 TODO 名单上。在它被收录之前,这样的东西对你有用吗?

julia> function gmtime(t::Real)
           t = floor(t)
           tm = TmStruct()
           ccall(:gmtime_r, Ptr{TmStruct}, (Ptr{Int}, Ptr{TmStruct}), &t, &tm)
           return tm
       end
gmtime (generic function with 1 method)

julia> strftime("%H:%M:%S", gmtime(0))
"00:00:00"