Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

daysdif

计算日期之间的天数,适用任何计日基数

说明

NumDays = daysdif(StartDate,EndDate) 返回日期 StartDateEndDate 之间的天数。在确定第一天和最后一天之间的天数时,不包括 StartDate 的第一天。

两个输入参量中的任何一个都可以包含多个值,但是如果出现这种情况,则另一个输入必须包含相同数量的值,或者包含一个适用于所有值的单一值。例如,如果 StartDate 是一个由字符向量组成的 n 行元胞数组,则 EndDate 也必须是一个由字符向量组成的 n 行元胞数组,或者是单个日期字符向量。NumDays 则是一个由数字组成的 N×1 向量。

NumDays = daysdif(___,Basis) 使用可选计日参量 Basis 返回日期 StartDateEndDate 之间的天数。在确定第一天和最后一天之间的天数时,不包括 StartDate 的第一天。

两个输入参量中的任何一个都可以包含多个值,但是如果出现这种情况,则另一个输入必须包含相同数量的值,或者包含一个适用于所有值的单一值。例如,如果 StartDate 是一个 n 行日期时间数组,则 EndDate 必须是一个 n 行日期时间数组,或者是单个日期时间。NumDays 则是一个由数字组成的 N×1 向量。

示例

全部折叠

使用 StartDateEndDate 的日期字符向量确定 NumDays

NumDays = daysdif('3/1/99', '3/1/00', 1)
NumDays = 360

使用 StartDateEndDate 的日期时间确定 NumDays

NumDays = daysdif(datetime(1999,3,1) ,datetime(2000,3,1), 1)
NumDays = 360

使用 EndDate 的日期时间数组确定 NumDays

MoreDays = [datetime(2001,3,1) ; datetime(2002,3,1) ; datetime(2003,3,1)]; 
NumDays = daysdif(datetime(1998,3,1), MoreDays)
NumDays = 3×1

        1096
        1461
        1826

输入参数

全部折叠

开始日期,指定为使用日期时间数组、字符串数组或日期字符向量的标量或 N×1/1×N 向量。

为了支持现有代码,daysdif 还接受将日期序列值作为输入,但不推荐使用它们。

数据类型: char | string | datetime

结束日期,指定为使用日期时间数组、字符串数组或日期字符向量的标量或 N×11×N 向量。

为了支持现有代码,daysdif 还接受将日期序列值作为输入,但不推荐使用它们。

数据类型: char | string | datetime

工具的计日基数,指定为 013 之间的一个整数值,或由 013 之间的整数值组成的 N × 1 向量。

  • 0 = actual/actual(默认)

  • 1 = 30/360 (SIA)

  • 2 = actual/360

  • 3 = actual/365

  • 4 = 30/360 (BMA)

  • 5 = 30/360 (ISDA)

  • 6 = 30/360 (European)

  • 7 = actual/365 (Japanese)

  • 8 = actual/actual (ICMA)

  • 9 = actual/360 (ICMA)

  • 10 = actual/365 (ICMA)

  • 11 = 30/360E (ICMA)

  • 12 = actual/365 (ISDA)

  • 13 = BUS/252

有关详细信息,请参阅Basis

数据类型: double

输出参量

全部折叠

StartDateEndDate 之间的天数。NumDays 以整数形式返回。

注意

在确定第一天和最后一天之间的天数时,不包括 StartDate 的第一天。

参考

[1] Stigum, Marcia L. and Franklin Robinson. Money Market and Bond Calculations. Richard D. Irwin, 1996, ISBN 1-55623-476-7

版本历史记录

在 R2006a 之前推出

全部展开