convert dates to specific format

how can I change the format of the dates in the column shown in the image to the format uuuuMMddHHmm?

Answers (2)

My guess is that you have unfortunately stored each date as one numeric value, whose digits just happen to coincide with the date units' digits. This is rather a misuse of numerics, and is best fixed by importing that data correctly, rather than trying to "fix" it later. But you can convert to a proper DATETIME object if required:
N = 200701022359 % ugh
N = 2.0070e+11
D = datetime(string(N),'Format','uuuuMMddHHmm')
D = datetime
200701022359
Checking:
D.Year
ans = 2007
D.Day
ans = 2
D.Minute
ans = 59
Note that you should avoid deprecated functions DATENUM, DATESTR, and DATEVEC.
t0 = datenum(today) % probably you have datenums
t0 = 738721
t1 = datetime(datestr(t0)) % convert them to datetime
t1 = datetime
19-Jul-2022
t1.Format % check the format
ans = 'dd-MMM-uuuu'
t1.Format = 'uuuuMMddHHmm' % change the format
t1 = datetime
202207190000

3 Comments

Thank you for the quick reply.
When applying the provided lines I get the following error
DATESTR failed converting date number to date vector.
Error in datestr (line 202)
S = dateformverify(dtnumber, dateformstr, islocal);
Error in cateogorizing (line 337)
t1 = datetime(datestr(RO_data.Date)); % convert them to datetime
Caused by:
Error using datevecmx
Date number out of range.
Any advice how to fix it?
"Any advice how to fix it?"
  1. understand how your date is currently stored.
  2. use that knowledge to select a suitable tool to convert it to DATETIME.
Attach your data.

Sign in to comment.

Categories

Products

Release

R2021b

Tags

Asked:

on 19 Jul 2022

Commented:

on 19 Jul 2022

Community Treasure Hunt

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

Start Hunting!