如何在Julia中将毫秒数组转换为MM:SS:SS格式或DateTime格式?
我正在尝试将毫秒转换为分钟,但无法执行此操作。我一直期待着结果的形式 MM:SS 我已将结果保存在一个数据框中,该数据框将数据类型显示为毫秒,即使将整行除以60000,数据类型仍将保持为毫秒如何在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
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列不包含毫秒值。如果它这样做了,那么这个操作就会失败。