我正在尝试将毫秒转换为分钟,但无法这样做。我一直期望结果的形式 MM:SS 我将结果保存在一个数据框中,该数据框显示的数据类型为毫秒,即使将整行除以60000,该数据类型仍然保持为毫秒
delivery_time = delivery_timestamp - init_timestamp
783358-element Array{Millisecond,1}:
34200000 milliseconds
14580000 milliseconds
27300000 milliseconds
9180000 milliseconds
13560000 milliseconds
6960000 milliseconds
12600000 milliseconds
9600000 milliseconds
7500000 milliseconds
13080000 milliseconds
9180000 milliseconds
9600000 milliseconds
27660000 milliseconds
⋮
delivery_time = (delivery_time)/60000
783358-element Array{Millisecond,1}:
570 milliseconds
243 milliseconds
455 milliseconds
153 milliseconds
226 milliseconds
116 milliseconds
210 milliseconds
160 milliseconds
125 milliseconds
218 milliseconds
153 milliseconds
我希望结果会
df.delivery_time
06:22
07:32
09:51
.
.
.
或者即使我可以得到结果
df.delivery_time
570 minute
243 minute
455 minute
.
.
.
答案 0 :(得分:1)
您可以将Millisecond
转换为例如。 Minute
仅在精度方面有所损失。这是一个四舍五入到最接近分钟的示例:
@. Minute(round(Int, Dates.value(delivery_time) / (1000 * 60)))
如果您不需要Minute
值,而只是浮动而不四舍五入就可以:
@. Dates.value(delivery_time) / (1000 * 60)
或例如
Dates.value.(delivery_time) / (1000 * 60)
如果您不想使用@.
。
最后你可以写
Time(0) .+ delivery_time
这是无损的,但是现在返回的对象不是Period
的子类型,它将“环绕” 24小时。如果要避免自动换行,请使用DateTime
而不是上面的Time
。
答案 1 :(得分:0)
非常感谢您的帮助。您解决了我的大部分问题。我很天真,但是在茱莉亚开始一周后。
我曾经用过-
df.delivery_time = map((x) -> convert(Time,x),df[:15])
结果
783358-element Array{Time,1}:
09:30:00
04:03:00
07:35:00
02:33:00
03:46:00
01:56:00