Julia将strftime
作为内置内容但不是gmtime
。
julia> strftime
strftime (generic function with 3 methods)
julia> gmtime
ERROR: gmtime not defined
相同的gmtime
,首选的Julia方式是什么?我们的想法是将自纪元以来的秒数转换为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'
我尝试在朱莉娅中使用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
出了什么问题?更好的是,有没有更好的全朱莉娅方式来获得gmtime
的效果?
答案 0 :(得分:4)
看起来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"