发布
社区首页 >问答首页 >如何以"H:M:S.s“格式以Julia格式打印3600.125秒

如何以"H:M:S.s“格式以Julia格式打印3600.125秒
EN

Stack Overflow用户
提问于 2017-11-10 00:38:45
回答 6查看 790关注 0票数 3

我使用tic()toc()函数获得了一些时间间隔,它们以秒为单位。假设我有一个时间间隔dt=3600.125秒。如何使用Julia打印"H:M:S.s“格式?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2017-11-10 04:17:00

你可以做你自己的功能。要知道的主要函数是divrem,它在一个方便的函数调用中给出除数和余数。

代码语言:javascript
代码运行次数:0
复制
dt=3600.125 

function hmss(dt)
    (h,r) = divrem(dt,60*60)
    (m,r) = divrem(r, 60)
    #(s,r) = divrem(r, 60)
    string(Int(h),":",Int(m),":",r)
end

hmss(dt)

hmss(3452.98)
票数 3
EN

Stack Overflow用户

发布于 2017-11-10 09:11:55

如果将其转换为日期格式,则可以使用这种方法

代码语言:javascript
代码运行次数:0
复制
julia> t1 = now()
2017-11-10T10:00:51.974
# Wait
julia> t2 = now()
2017-11-10T10:10:07.895
julia> x = Dates.canonicalize(Dates.CompoundPeriod(t2-t1))
9 minutes, 15 seconds, 921 milliseconds

julia> x.periods
3-element Array{Base.Dates.Period,1}:
 9 minutes      
 15 seconds      
 921 milliseconds

julia> x.periods[2]
15 seconds

julia> x.periods[2].value
18
票数 4
EN

Stack Overflow用户

发布于 2017-11-10 01:06:32

看一看手册中的日期部分

不确定这是否是最有效的方法,但这是可行的,例如:

代码语言:javascript
代码运行次数:0
复制
julia> Dates.format(DateTime("2017-10-01T01:02:03"), "H:M:S.s")
"1:2:3.0"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47213975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档