我对matlab很陌生。我想在matlab中以年、日、月和小时计算一个人的年龄?用户以DD/MM/YYYY格式输入他/她的出生日期。比如我输入我的出生日期为 27/11/1989 我怎么能找到我现在的年龄?
问问题
7247 次
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 回答