How do I convert dates to days?

3 views (last 30 days)
Hamza Yusuf
Hamza Yusuf on 18 Mar 2022
Edited: Stephen23 on 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:

Accepted Answer

Simon Chan
Simon Chan on 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

More Answers (2)

Stephen23
Stephen23 on 18 Mar 2022
Edited: Stephen23 on 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 on 18 Mar 2022
Read about datevec. This will give you respective days from the dates.
  3 Comments
Hamza Yusuf
Hamza Yusuf on 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]

Sign in to comment.

Tags

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by