# daysdif

Days between dates for any for any day-count basis

## Syntax

``NumDays = daysdif(StartDate,EndDate)``
``NumDays = daysdif(___,Basis)``

## Description

````NumDays = daysdif(StartDate,EndDate)` returns the number of days between dates `StartDate` and `EndDate`. The first date for `StartDate` is not included when determining the number of days between first and last date.Any input argument can contain multiple values, but if so, the other inputs must contain the same number of values or a single value that applies to all. For example, if `StartDate` is an n-row array of character vector dates, then`EndDate` must be an n-row array of character vector dates or a single date. `NumDays` is then an `N`-by-`1` vector of numbers.```

````NumDays = daysdif(___,Basis)` returns the number of days between dates `StartDate` and `EndDate` using the optional argument `Basis` for day-count. The first date for `StartDate` is not included when determining the number of days between first and last date.Any input argument can contain multiple values, but if so, the other inputs must contain the same number of values or a single value that applies to all. For example, if `StartDate` is an n-row array of character vector dates, then `EndDate` must be an n-row array of character vector dates or a single date. `NumDays` is then an `N`-by-`1` vector of numbers.```

## Examples

collapse all

Determine the `NumDays` using date character vectors for `StartDate` and `EndDate`.

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

Determine the `NumDays` using a datetime array for `StartDate`.

`NumDays = daysdif(datetime('1-Mar-1999','Locale','en_US'), '3/1/00', 1)`
```NumDays = 360 ```

Determine the `NumDays` using a vector for `EndDate`.

```MoreDays = ['3/1/2001'; '3/1/2002'; '3/1/2003']; NumDays = daysdif('3/1/98', MoreDays)```
```NumDays = 3×1 1096 1461 1826 ```

## Input Arguments

collapse all

Start date, specified as a scalar or an `N`-by-`1` or `1`-by-`N` vector using serial date numbers, date character vectors, or datetime arrays.

Data Types: `double` | `char` | `datetime`

End date, specified as a scalar or an `N`-by-`1` or `1`-by-`N` vector using serial date numbers, date character vectors, or datetime arrays.

Data Types: `double` | `char` | `datetime`

Day-count basis of the instrument, specified as an integer with a value of `0` through `13` or a `N`-by-`1` vector of integers with values of `0` through `13`.

• 0 = actual/actual (default)

• 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

Data Types: `single` | `double`

## Output Arguments

collapse all

Number of days between the `StartDate` and `EndDate`. `NumDays` returns as a double for serial date number, date character vector, and datetime inputs.

The first date for `StartDate` is not included when determining the number of days between first and last date.

## References

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

## Version History

Introduced before R2006a