temporalAdd
语法
temporalAdd(obj, duration, [unit])
别名:datetimeAdd
参数
obj 是时间类型的标量或向量。
duration 是一个整数或 DURATION 类型数据。
New in version 1.30.13: 参数 unit
New in version 1.30.21: 用户自定义交易日历
unit 是一个字符串标量。
duration 是整数时,unit 表示:
duration 的单位,取值可以是:”ns”(nanosecond), “us”(microsecond), “ms”(millisecond), “s”(second), “m”(minute), “H”(hour), “d”(day), “w”(week), “M”(month), “y”(year), “B”(business day)
交易日历的标识,例如:国外交易所的 ISO Code、国内交易所简称或自定义交易日历名称。对应的文件必须保存在 marketHolidayDir 中。
duration 是 DURATION 类型数据时,unit 无需设置。
注:时间单位为 year 或 month 时,计算结果与 mysql 保持一致。Pandas 提供了一个时间偏移对象(Date offsets)来完成时间偏移工作,当 DateOffset 参数取 months 或 years 时,与 temporalAdd
单位为 M 或 y 的计算结果也一致。
详情
时间变量加上一个值。
例子
$ temporalAdd(2017.01.16,1,"d");
2017.01.17
$ temporalAdd(2017.01.16,1,"w");
2017.01.23
$ temporalAdd(2016.12M,2,"M");
2017.02M
$ temporalAdd(2012.07.31T13:30:10.008,-1,'M');
2012.06.30T13:30:10.008
$ temporalAdd(2012.07.31T13:30:10.008,1,'y');
2013.07.31T13:30:10.008
$ temporalAdd(13:30:10.008007006,100,"ns");
13:30:10.008007106
$ x=[12:23:34, 23:34:45];
$ temporalAdd(x, 10m);
[12:33:34,23:44:45]
为 2021.08.06 增加4个工作日。
$ temporalAdd(2021.08.06, 4B)
2021.08.12
按照 CFFEX 的交易日历,为 date 增加2个交易日。
$ date=[2023.01.01, 2023.01.02, 2023.01.03, 2023.01.04]
$ temporalAdd(date,2,`CFFEX)
[2023.01.04,2023.01.04,2023.01.05,2023.01.06]
$ temporalAdd(datetime(2020.08.31), -2M)
2020.06.30T00:00:00
//pandas中 DateOffset 传入参数 months,计算结果一致
$ pd1 = pd.Timestamp("2020.08.31")
$ print(pd1 -pd.offsets.DateOffset(months=2))
2020-06-30 00:00:00
$ temporalAdd(datetime(2020.02.29), -1y)
2019.02.28T00:00:00
$ temporalAdd(datetime(2020.02.29), -4y)
2016.02.29T00:00:00
//pandas 中 offset 设为1年
$ pd1 = pd.Timestamp("2020.02.29")
$ print(pd1 - pd.offsets.DateOffset(years=1))
2019-02-28 00:00:00
//pandas 中 offset 设为4年
$ pd2 = pd.Timestamp("2020.02.29")
$ print(pd2 - pd.offsets.DateOffset(years=4))
2016-02-29 00:00:00