Get tenor between two time points
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
In excel, if some cells are in the format of date, then the difference of the cells gives you the tenor. How can I do that in Matlab?
To be specific I mean I already have some serial data number, say 20110610 and 20110716 (today's date and the expiration date of the contract), and I wanna get the number of days between these two dates. So in this example I'd like to get 36.
If I do: 20110716-20110610, the ans is 106, the same as
datenum(20110716)-datenum(20110610)=106
So my question is, again, how can I get 36 out of these two dates?
Thanks in advance :)
0 comentarios
Respuesta aceptada
Andrew Newell
el 10 de Jun. de 2011
d1 = datenum('20110610','yyyymmdd');
d2 = datenum('20110716','yyyymmdd');
d2-d1
8 comentarios
Andrew Newell
el 10 de Jun. de 2011
'D' is not the string version of the number:
>> D = 20110609;
>> D
D =
20110609
>> 'D'
ans =
D
Use d2 = datenum(num2str(D),'yyyymmdd') instead.
Fangjun Jiang
el 10 de Jun. de 2011
You need to learn a little bit about the data type of Matlab.
In "D=20110609", D is the variable name, its value is 20110609. In "d2=datenum('D','yyyymmdd'), D is the capital letter D. What you really need is datenum(num2str(D),'yyyymmdd').
To make it work for vector,
a=[20110711 20110712 20110712];
datenum(arrayfun(@num2str,a,'un',0),'yyyymmdd')
Más respuestas (0)
Ver también
Categorías
Más información sobre Time Series Objects en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!