在串行接收过程中,我有一个传入数据
pressure ={'2016-04-14' '14:18:48' '321'}
datenum(datestr(cellfun(@(x,y) [x y],pressure(1),pressure(2),'un',0)));
这里是从上一步开始的日期时间序列的结果,
ans = 7.3648e+05`
当我转换回来时,结果将给出一个不同的未来时间:
datestr(ans)
ans = 29-May-2016 22:18:48
这个工作错了吗?
答案 0 :(得分:2)
组合日期和小时时,需要确保日期和小时之间有空格。您的cellfun
调用会创建字符串'2016-04-1414:18:48'
,然后会被错误解释。
cellfun(@(x,y) [x ' ' y],pressure(1),pressure(2),'un',0))
解决了这个问题。请注意,您可以将第一个电话放到datestr
,然后写
numericDate = datenum(cellfun(@(x,y) [x ' ' y],pressure(1),pressure(2),'un',0)))