How do I convert a date time format that's (dd-MMM-yyyy hh:mm:ss) to (dd-MMM-yyyy hh)?
107 views (last 30 days)
Show older comments
I'm having trouble converting a datetime column thats in the format (dd-MMM-yyyy hh:mm:ss) to (dd-MMM-yyyy hh), so basically just removing the minutes and seconds from the datetime.
The current code I have is down below but some of the dates don't convert into the format I would like.
d=gd_all.wc_datetime;
d.Format = 'dd-MMM-yyyy hh';
gd_date=cellstr(d);
gd_date=datetime(gd_date,'InputFormat','dd-MMM-yyyy hh');
1 Comment
dpb
on 19 Jan 2021
We could only comment on data-dependent behavior with the sample data that seems to cause an issue.
Attach a .mat file that contains at least enough data that demonstrates what you think is a problem.
Answers (1)
Steven Lord
on 19 Jan 2021
Do you want to change the displayed value or the stored value?
dt = datetime('now')
dt_display = dt; % Make a copy so dt can be used as a reference later
dt_display.Format = 'dd-MMM-yyyy HH'
dt_stored = dt;
dt_stored = dateshift(dt_stored, 'start', 'hour')
dt_display - dt_stored
dt_display - dt % no difference
dt - dt_stored % difference
You can see that dt_display still contains the minutes and seconds of the current date and time while dt_stored has been set to the start of the hour.
0 Comments
See Also
Categories
Find more on Dates and Time in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!