How do I convert a date time format that's (dd-MMM-yyyy hh:mm:ss) to (dd-MMM-yyyy hh)?

105 visualizzazioni (ultimi 30 giorni)
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 Commento
dpb
dpb il 19 Gen 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.

Accedi per commentare.

Risposte (1)

Steven Lord
Steven Lord il 19 Gen 2021
Do you want to change the displayed value or the stored value?
dt = datetime('now')
dt = datetime
19-Jan-2021 22:44:04
dt_display = dt; % Make a copy so dt can be used as a reference later
dt_display.Format = 'dd-MMM-yyyy HH'
dt_display = datetime
19-Jan-2021 22
dt_stored = dt;
dt_stored = dateshift(dt_stored, 'start', 'hour')
dt_stored = datetime
19-Jan-2021 22:00:00
dt_display - dt_stored
ans = duration
00:44:04
dt_display - dt % no difference
ans = duration
00:00:00
dt - dt_stored % difference
ans = duration
00:44:04
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.

Categorie

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

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by