convert datestring to datenum problem.

5 次查看(过去 30 天)
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 个评论
Jan
Jan 2016-11-30
编辑:Jan 2016-11-30
Please post the error message.
davit petraasya
davit petraasya 2016-11-30
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.

请先登录,再进行评论。

采纳的回答

Jan
Jan 2016-11-30
编辑:Jan 2016-11-30
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)

更多回答(1 个)

Peter Perkins
Peter Perkins 2016-12-1
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

类别

Help CenterFile Exchange 中查找有关 Dates and Time 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by