Julia中如何为DateTime类型对象添加任意时长(如333小时)
你遇到的两个报错本质是类型使用错误:
Time类型用来表示一天内的具体时刻(比如上午9点),不是时间间隔,所以小时参数取值范围只能是0-23,自然无法创建333小时的Time对象DateTime是带日期的时间点,时间点和具体时刻相加没有逻辑意义,所以官方没有定义对应的+方法
要完成时间时长的叠加,需要使用Julia Dates标准库提供的周期(Period)类型,该类专门用来表示时间间隔,支持任意长度的时长运算,使用方式如下:
using Dates # 原始时间 dt = DateTime(2021,1) # 构造333小时的时间间隔 time_length = Hour(333) # 叠加得到新时间 new_dt = dt + time_length println(new_dt) # 输出结果:2021-01-14T21:00:00
补充说明
- 支持多单位时长叠加,可直接组合使用
Year(年)、Month(月)、Day(日)、Minute(分钟)、Second(秒)等间隔类型:
# 示例:叠加333小时+12分钟+5秒 new_dt = dt + Hour(333) + Minute(12) + Second(5)
- 如果要叠加的时长单位不固定,也可以先统一转换为对应单位的Period类型再运算。
内容的提问来源于stack exchange,提问作者Wingmore
相关产品推荐
相关产品推荐

