2014-02-26 48 views
0

我有一个单元格数组。其中一列填满日期,目前格式为'yyyy-mm-dd'。我从使用datainsert方法说得到一个错误信息为datainsert方法创建时间戳

“无法在第1行第3列,2014-02-07时间戳格式必须是YYYY-MM-DD HH插入元件:mm:ss的[。 fffffffff]“

日期已经是格式yyyy-mm-dd。当我尝试将它们转换为上述格式时,下面的行不起作用?该错误消息是"Unrecognized month format. Format string: yyyy-mm-dd hh:mm:ss."

export_full(:,3) = cellstr(datestr(export_full(:,3), 'yyyy-mm-dd hh:mm:ss'))'; 

回答

1

由于m可能是monthminute,你应该在格式字符串中使用mm为一个月,MM为分钟。 Matlab将接受日期全部小写和全部大写(例如HH:MM:SS)的使用。

这里有datainsert从帮助相关的事情:

如果数据是包含MATLAB日期,时间或时间戳单元阵列, 日期的格式必须为YYYY-MM-DD的日期字符串,时间必须是 时间字符串,格式为HH:MM:SS,时间戳必须为​​格式为yyyy-mm-dd HH:MM:SS.FFF的 的字符串。空条目必须为空字符串 ,并且在调用datainsert之前,单元阵列中的任何NaN必须转换为空字符串 。

所以如果你的日期字符串已经是yyyy-mm-dd他们应该被接受 - 你可能想要检查你没有任何迷路的NaN值。

+0

我刚刚运行XSUM = SUM(isnan(cell2mat(export_full(3)))) XSUM = 0所以我可以看到有没有NAN在我的数据。我使用HH:MM:SS而不是hh:mm:ss – mHelpMe

+0

export_full(3)或export_full(:,3)正确地转换了我的日期字符串? “第1行第3列”的实际内容是什么? (假设您的单元阵列中的位置会使它窒息) – nkjt

+0

新的错误消息是使用数据库/ datainsert(行132)的错误 无法完成插入操作。传入的表格数据流(TDS)远程过程调用(RPC)协议 流不正确。参数12(“”):提供的值不是数据类型为float的有效实例。检查 源数据的无效值。无效值的示例是精度大于 的数值型数据。 – mHelpMe