作者b0204888100 (b0204888100)
看板MATLAB
标题[讨论] 请问关於EXCEL数字与时间之间的转换问题
时间Wed Aug 8 00:24:31 2012
请问各位前辈
我抓了一个能转换excel数字为时间的m档
如输入 mdatestr(38147)=2004-06-09
但弄成向量的形式时却只会出现一个答案
而且是错误的
如 mdatestr([38147,38148])=2004-2004-06
m档如下,自己研究了老半天还是不知道
实在是很弱ˊˋ
希望各位前辈能帮帮忙
--------------------------------------------------------------
function S = mdatestr(D)
% convert a date number to a string with format 'yyyy-mm-dd'
% mdatestr(73421) % ans = '2010-10-30'
%
if iscell(D)
S = cell(size(D));
for i = 1:numel(D)
S{i} = mdatestr(D{i});
end
return;
end
if ~ischar(D)
if min(D) > 1000 && max(D) < 693960
D = D + 693960;
end
D = datevecmx(D);
S = sprintf('%04d-%02d-%02d', D(1), D(2), D(3));
elseif numel(D) == 10 && D(8) == '-'
S = D;
else
S = formatdate(D);
end
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.128.194.213
1F:→ jeffppp:把你的向量改用cell []=> {} 就好了吧 08/08 19:57