How do I convert dates to days?

1 visualizzazione (ultimi 30 giorni)
Hamza Yusuf
Hamza Yusuf il 18 Mar 2022
Modificato: Stephen23 il 18 Mar 2022
Let us say I have a series of dates: '01-01-2022', '05-01-2022', '06-01-2022' and I have corresponding data on these dates how do i convert the dates to an array that looks like this: [0,4,5]
Generally something like this:

Risposta accettata

Simon Chan
Simon Chan il 18 Mar 2022
Use function days
DateStrings = {'01-01-2022','05-01-2022','06-01-2022'};
t = datetime(DateStrings,'InputFormat','dd-MM-yyyy');
days(t-t(1))
ans = 1×3
0 4 5

Più risposte (2)

Stephen23
Stephen23 il 18 Mar 2022
Modificato: Stephen23 il 18 Mar 2022
Your example and explanation are inconsistent: your explanation shows difference between adjacent dates, your example vector shows differences to the first date. Here are both:
C = {'01-01-2022', '05-01-2022', '06-01-2022'};
T = datetime(C,'inputFormat','d-M-u');
V = days(T-T(1)) % what your example shows
V = 1×3
0 4 5
D = [0,caldays(caldiff(T))] % what you explained
D = 1×3
0 4 1

KSSV
KSSV il 18 Mar 2022
Read about datevec. This will give you respective days from the dates.
  3 Commenti
KSSV
KSSV il 18 Mar 2022
Modificato: KSSV il 18 Mar 2022
DateString = {'09/16/2007';'05/14/1996';'11/29/2010'};
formatIn = 'mm/dd/yyyy';
[y,m,d,H,M,S] = datevec(DateString,formatIn);
d
d = 3×1
16 14 29
Hamza Yusuf
Hamza Yusuf il 18 Mar 2022
I am sorry this is not what i wanted. Look at the original post. I want a vector that says how many days between the dates like this:
[0, days from date 1 to date 2, days from date 2 to date 3...., days from date n-1 to date n]

Accedi per commentare.

Categorie

Scopri di più su Dates and Time in Help Center e File Exchange

Tag

Prodotti


Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by