convert datestring to datenum problem.

5 visualizzazioni (ultimi 30 giorni)
davit petraasya
davit petraasya il 30 Nov 2016
Risposto: Peter Perkins il 1 Dic 2016
Hi
Does anybody know how to convert this date to number:
My date is 2016-11-22T13:12:47.320Z Now I am trying to convert it to number.
op_datetime = '2016-11-22T13:12:47.320Z';
format = 'yyyy-mm-ddTHH:MM:SS.FFFZ';
datenum(op_datetime, format)
I tryed like this above, but it is giving error.
Thanks!
  2 Commenti
Jan
Jan il 30 Nov 2016
Modificato: Jan il 30 Nov 2016
Please post the error message.
davit petraasya
davit petraasya il 30 Nov 2016
DATENUM failed.
Error in ==> andijan at 19
date_num=datenum(op_datetime, format)
Caused by: Error using ==> dtstr2dtnummx
Failed on converting date string to date number.

Accedi per commentare.

Risposta accettata

Jan
Jan il 30 Nov 2016
Modificato: Jan il 30 Nov 2016
The trailing 'Z' is not recognized.
op_datetime = '2016-11-22T13:12:47.320Z';
format = 'yyyy-mm-ddTHH:MM:SS.FFF'; % No trailing 'Z'
datenum(op_datetime, format)

Più risposte (1)

Peter Perkins
Peter Perkins il 1 Dic 2016
In R2014b or later, you should consider using datetimes, not datenums:
>> s = '2016-11-22T13:12:47.320Z'
s =
'2016-11-22T13:12:47.320Z'
>> d = datetime(s,'Format','yyyy-MM-dd''T''HH:mm:ss.SSS''Z''')
d =
2016-11-22T13:12:47.320Z
You might want to create the datetimes with the time zone set to UTC, and people working with timestamps that look like that often care about leap seconds:
>> d = datetime(s,'Format','yyyy-MM-dd''T''HH:mm:ss.SSSX','TimeZone','UTC')
d =
2016-11-22T13:12:47.320Z
>> d = datetime(s,'TimeZone','UTCLeapSeconds')
d =
2016-11-22T13:12:47.320Z

Categorie

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

Community Treasure Hunt

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

Start Hunting!

Translated by