我对matlab很新。 我想用matlab计算一个人的年龄,日,月和小时? 用户以 DD / MM / YYYY 格式输入他/她的出生日期。比如我在1989年11月27日进入我的DOB如何才能找到我现在的年龄?
答案 0 :(得分:2)
您应该查看此页面:http://www.mathworks.nl/help/techdoc/matlab_prog/bspgcx2-1.html
我使用datenum将输入转换为序列日期编号。然后减去now,并使用datestr将结果转换回您想要的'DD / MM / YYYY'格式的可读字符串。
示例:http://www.mathworks.nl/support/solutions/en/data/1-3W2LZP/index.html?product=SL&solution=1-3W2LZP
完整代码(阅读并理解它,查看我提供的链接!)
str='27/11/1989';
birth_numdate=datenum(str,'DD/mm/YYYY');
myage=datestr(now-birth_numdate,'DD/mm/YYYY');
正如您所看到的,您应该使用'mm'
代替'MM'
('MM'代表'分钟'代替'月'。
或者您可以使用datevec,它会为您提供包含#years,months,days,hours,minutes和seconds的向量:
vec_myage=datevec(now-birth_numdate);
在我的电脑上产生:
ans =
23.0000 8.0000 9.0000 22.0000 52.0000 7.1783
现在去了解我居住的时区;)