1

我对matlab很陌生。我想在matlab中以年、日、月和小时计算一个人的年龄?用户以DD/MM/YYYY格式输入他/她的出生日期。比如我输入我的出生日期为 27/11/1989 我怎么能找到我现在的年龄?

4

1 回答 1

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' 对应于 'minutes' 而不是 'months'。

或者你可以使用 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

现在去看看我住在哪个时区;)

于 2012-09-05T20:47:01.790 回答