如何在Julia中将毫秒数组转换为MM:SS:SS格式或DateTime格式?

如何在Julia中将毫秒数组转换为MM:SS:SS格式或DateTime格式?,datetime,julia,milliseconds,Datetime,Julia,Milliseconds,我正在尝试将毫秒转换为分钟,但无法执行此操作。我一直期待着结果的形式 MM:SS 我已将结果保存在一个数据框中,该数据框将数据类型显示为毫秒,即使将整行除以60000,数据类型仍将保持为毫秒 delivery_time = delivery_timestamp - init_timestamp 783358-element Array{Millisecond,1}: 34200000 milliseconds 14580000 milliseconds 27300000 milliseco

我正在尝试将毫秒转换为分钟,但无法执行此操作。我一直期待着结果的形式 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
.
.
.

您只能将
毫秒
转换为
分钟
,但精度会降低。下面是一个将四舍五入精确到分钟的示例:

@. 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

非常感谢您的帮助。你解决了我的大部分问题。我很天真,但朱莉娅一周前就开始了。 我实际上使用了-
df.delivery\u time=map((x)->convert(time,x),df[:15])
结果呢,
783358元素数组{Time,1}:
09:30:00
04:03:00
07:35:00
02:33:00
03:46:00

01:56:00

您可以将此缩写为
convert.(时间,df[:15])
。但是,
df[:15]
df[15]
(数据帧的第15列
df
)相同,这意味着第15列不包含
毫秒值。如果它这样做了,那么这个操作就会失败。