Converting text to dates with datenum. A problem concerning milliseconds.

3 vues (au cours des 30 derniers jours)
Ben
Ben le 13 Juin 2018
Commenté : Steven Lord le 14 Juin 2018
Hi!
I'm trying to convert a large cell of text (containing about 13 million rows) with date information into a date or numbers format.
The text looks like this
'20160405 16:00:00:106'
I'm trying
% datetime(T,'InputFormat','yyyyMMdd HH:mm:ss:SSS')
but it keeps cutting the milliseconds.
05-Apr-2016 16:00:00
I've done some googling and searched here but I couldn't come up with a solution yet. Thanks for the help!

Réponse acceptée

Steven Lord
Steven Lord le 13 Juin 2018
Build the datetime.
T = '20160405 16:00:00:106'
fmt = 'yyyyMMdd HH:mm:ss:SSS';
dt = datetime(T, 'InputFormat', fmt)
What display format is dt using?
dt.Format
Make it use the same format as T was in.
dt.Format = fmt
  2 commentaires
Ben
Ben le 13 Juin 2018
Yep. This is it. Thanks! Simple stuff :)
Steven Lord
Steven Lord le 14 Juin 2018
If you wanted to do this all in one line, you could set the Format in the same command in which you created the datetime.
dt = datetime(T, 'InputFormat', fmt, 'Format', fmt)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Dates and Time dans Help Center et File Exchange

Tags

Produits


Version

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by