gpt4 book ai didi

Julia:不同时间段之间的转换

转载 作者:行者123 更新时间:2023-12-02 09:34:08 26 4
gpt4 key购买 nike

完全披露:我只使用 Julia 大约一天,所以现在问问题可能还为时过早。

我不是很了解 Dates 模块的 Period 类型的实用性。假设我有两次,我想找出两次之间的分钟数。看起来很自然的做法是减去时间,然后将结果转换为分钟。我可以处理没有 Minute 构造函数的问题(这对我的 Python 迷惑的大脑来说似乎是最自然的),但似乎 convert 应该能够做一些事情。

从 Millisecond 到 Int 到 Minute 的“解决方案”似乎有点粗糙。这样做更好/正确/惯用的方法是什么? (我做了 RTFM,但也许答案就在那里,但我错过了。)

y, m, d = (2015, 03, 16)
hr1, min1, sec1 = (8, 14, 00)
hr2, min2, sec2 = (9, 23, 00)
t1 = DateTime(y, m, d, hr1, min1, sec1)
t2 = DateTime(y, m, d, hr2, min2, sec2)
# println(t2 - t1) # 4140000 milliseconds
# Minute(t2 - t1) # ERROR: ArgumentError("Can't convert Millisecond to Minute")
# minute(t2 - t1) # ERROR: `minute` has no method matching
# minute(::Millisecond)
# convert(Minute, (t2-t1)) # ERROR: `convert` has no method matching
# convert(::Type{Minute}, ::Millisecond)

delta_t_ms = convert(Int, t2 - t1)

function ms_to_min(time_ms)
MS_PER_S = 1000
S_PER_MIN = 60
# recall that division is floating point unless you use div function
return div(time_ms, (MS_PER_S * S_PER_MIN))
end

delta_t_min = ms_to_min(delta_t_ms)
println(Minute(delta_t_min)) # 69 minutes

(我很抱歉选择了一个引起窃笑的时间间隔。我碰巧将两个 friend 的生日转换为小时和分钟,而没有真正考虑它。)

最佳答案

好问题;看来我们应该添加它! (披露:我制作了 Dates 模块)。

实际上,我们曾经在那里进行过转换,但后来由于某种原因它们被删除了(我认为它围绕着不精确的转换是否应该抛出错误,最近已经清理了很多在整数/ float 的基础上)。我认为将它们重新添加进来绝对有意义。我们实际上有一些 in there对于其他操作,显然它们很有用。

与往常一样,这也是谁有时间编码/测试/提交的问题,希望这是由对该功能有实际需求的人插入的如果您有雄心壮志,请随时提交 PR!

关于Julia:不同时间段之间的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29088045/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com