Cell array to string to datetime conversion, parse error.

3 次查看(过去 30 天)
Hello,
I have a cell array of many data types. The first column stores dates and times of the format: '2016/04/16 10:06:05 PM'.
I have pulled the first column out,
here = T(:,1);
so I'm trying to obtain datetimes from them using,
f = 'yyyy/MM/dd h:mm:ss a';
d1 = datetime(here(1),'InputFormat',f,'Format',f);
but I get the following error:
Error using datetime (line 616)
Unable to parse ''2016/04/16 10:06:05 PM'' as a date/time using the format 'yyyy/MM/dd h:mm:ss a'
So it looks like I have extra quotes maybe? I'm not really sure. I tried changing the format f
'"yyyy/MM/dd h:mm:ss a"',
tried converting the cell to an array of strings,
here = string(here);
and an array of chars,
cell2mat(here);
but nothing has worked at all. I'm getting very frustrated.
I even tried converting it to a string and tried using the function erase() to get rid if potential extra quotes but nothing I've tried works. I need these to be datetimes to work with them with my other functions.
Any help would be wonderful, thank you.
*EDIT* I just read that datetime can handle cell arrays but that's not working either and I'm having the following returned where here is still a cell array:
Error using datetime (line 616)
Unable to parse date/time text using the format 'yyyy/MM/dd h:mm:ss a'.
I'm completely lost.
  7 个评论
Erin Winkler
Erin Winkler 2018-7-19
Never mind, a cell array. It looks like it worked! Thank you so very much sir!
Erin Winkler
Erin Winkler 2018-7-19
If you wanted to put it in the answers, I'll gladly accept it.

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2018-7-19
datetime( regexprep(here, '''', ''), 'InputFormat', f, 'Format', f)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by