MATLAB Answers

Change time in a timeseries object

2 views (last 30 days)
Hello everybody!
I have a timeseries object in which the time is expressed as follow:
val =
'16-Jan-2014 12:00:00'
'15-Feb-2014 00:00:00'
'16-Mar-2014 12:00:00'
I wuold like to have the time in the 'dd - mm - YYYY' information, i.e. like this:
val =
'16-Jan-2014'
'15-Feb-2014'
'16-Mar-2014'
Is there a way to do that?
Many thanks!

Accepted Answer

Walter Roberson
Walter Roberson on 30 Jun 2021
Edited: Walter Roberson on 30 Jun 2021
Suppose TS is your timeseries. Then
TS.TimeInfo.Format = 'dd-mmm-yyyy';
after which
getabstime(TS)
would use that format.
The format specification uses datestr(), not datetime() forms, and there are a limited number of supported formats. It must be one of the forms returned by tsgetDateFormat(). Exact matches are used -- case sensitive, no added spaces permitted, and you cannot use different delimiters.
{'dd-mmm-yyyy HH:MM:SS' }
{'dd-mmm-yyyy HH:MM:SS.FFF'}
{'dd-mmm-yyyy' }
{'mm/dd/yy' }
{'HH:MM:SS' }
{'HH:MM:SS.FFF' }
{'HH:MM:SS PM' }
{'HH:MM:SS.FFF PM' }
{'HH:MM' }
{'HH:MM PM' }
{'mmm.dd,yyyy HH:MM:SS' }
{'mmm.dd,yyyy HH:MM:SS.FFF'}
{'mmm.dd,yyyy' }
{'mm/dd/yyyy' }

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by