Timestamp in table not recognized as time value

3 次查看(过去 30 天)
Hello,
I have the following data time format in a table
'2020-08-03T20:40:00.000Z'
When I try to plot this data with another variable. I get the following message:
Error using scatter (line 54)
Input arguments must be numeric, datetime, duration or categorical.
I am aware that one can remove the T and the Z, in the following manner:
wtg_ref.Timestamp = strrep(wtg_ref.Timestamp, 'T', ' ');
wtg_ref.Timestamp = strrep(wtg_ref.Timestamp, 'Z', '');
However, that does and would not help either. It seems the value in the cell is not treated as time. A clue might be that the time value has quotation marks around it in the cells...
It would, of course be easier, to keep the T and Z in the format.
Support would be very much appreciated. Thank you.
  1 个评论
Malik
Malik 2022-1-31
I should mention, I also tried: time = datenum('2020-08-01T04:26:18.887Z','yyyy-mm-ddTHH:MM:SS.FFFZ');
But then I lose the milliseconds when I datestr(result)

请先登录,再进行评论。

采纳的回答

Star Strider
Star Strider 2022-1-31
It likel;y needs to be converted to a datetime array —
timestamp = '2020-08-03T20:40:00.000Z'
timestamp = '2020-08-03T20:40:00.000Z'
datetimestamp = datetime(timestamp, 'InputFormat','yyyy-MM-dd''T''HH:mm:ss.SSS''Z''', 'TimeZone','UTC')
datetimestamp = datetime
03-Aug-2020 20:40:00
The desired 'Format' and time zone in the code can be whatever you want.
datetimestamp.Format = 'yyyy-MMM-dd HH:mm:ss.SSS'
datetimestamp = datetime
2020-Aug-03 20:40:00.000
datetimestamp.TimeZone = 'UTC-7'
datetimestamp = datetime
2020-Aug-03 13:40:00.000
The actual format of the month and day are a bit ambiguous, so change those if they are not as I defined them in 'InputFormat'.
.
  6 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Time Series Objects 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by