2012-09-05 259 views
1

我是新来的matlab。 我想在matlab中计算一个人在年,日,月和小时的年龄? 用户输入他/她的出生日期格式为DD/MM/YYYY格式。比如我作为27/11/1989进入我的DOB,我怎么能找到我现在的年龄?在Matlab中计算年,年,月,小时的年龄

回答

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,月,日,小时,分钟和秒的载体。

vec_myage=datevec(now-birth_numdate); 

这在我的电脑导致:

ans = 
    23.0000 8.0000 9.0000 22.0000 52.0000 7.1783 

现在走在我住哪个时区发现;)