在Matlab中计算年,日,月和小时的年龄

时间:2012-09-05 20:12:57

标签: matlab

我对matlab很新。 我想用matlab计算一个人的年龄,日,月和小时? 用户以 DD / MM / YYYY 格式输入他/她的出生日期。比如我在1989年11月27日进入我的DOB如何才能找到我现在的年龄?

1 个答案:

答案 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

现在去了解我居住的时区;)