计算年龄

//获取年龄   传值   出生日期
			$scope.getAge=function(mybirthday){
				
				//获取当前时间
				var newdate=new Date();//今天
				mybirthday=new Date(mybirthday);//出生日期
				var age=newdate.getTime()-mybirthday.getTime();
			     //向上取整   获取年龄
			     return Math.ceil(age/1000/60/60/24/365);
			
			}

    <td>{{getAge(d.birthday)}}</td>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 定义一个birthday类,其成员变量有3个整形变量(出生的年月日):year,month,day;提供构造方法对这3个成员变量进行初始化;提供成员变量的get、set方法;成员函数有getage(),功能是实现计算到2017年12月25日时该birthday对象的年龄。编写程序测试这个类。 代码如下: ```python class Birthday: def __init__(self, year, month, day): self.year = year self.month = month self.day = day def get_year(self): return self.year def set_year(self, year): self.year = year def get_month(self): return self.month def set_month(self, month): self.month = month def get_day(self): return self.day def set_day(self, day): self.day = day def get_age(self): age = 2017 - self.year if self.month > 12 or self.day > 31: return "Invalid date" elif self.month == 12 and self.day > 25: age -= 1 return age # 测试 b = Birthday(199, 1, 1) print(b.get_age()) # 输出 27 b.set_year(200) print(b.get_age()) # 输出 17 b.set_month(13) print(b.get_age()) # 输出 Invalid date ``` ### 回答2: 在面向对象编程中,类是一个重要的概念。定义一个类,是指定义一个新的数据类型,包含各种属性和方法。在此基础上,我们可以在程序中实例化这个类,使用其中的属性和方法。本题要求定义一个birthday类,计算到2017年12月25日时该birthday对象的年龄。 首先,我们可以在类中定义三个整型变量,表示出生的年月日。代码如下: ``` class birthday{ private int year; private int month; private int day; //构造方法 public birthday(int year, int month, int day){ this.year = year; this.month = month; this.day = day; } //get方法 public int getYear(){ return year; } public int getMonth(){ return month; } public int getDay(){ return day; } //set方法 public void setYear(int year){ this.year = year; } public void setMonth(int month){ this.month = month; } public void setDay(int day){ this.day = day; } //计算年龄 public int getAge(){ int age = 2017 - year; if(month > 12 || month < 1 || day > 31 || day < 1){ System.out.println("出生日期输入有误!"); return -1; } if(month > 12 || month < 1 || day > 31 || day < 1){ System.out.println("出生日期输入有误!"); return -1; } if(month == 12 && day > 25){ age = age - 1; } return age; } } ``` 这个类中,我们定义了三个成员变量 year、month、day,并提供了一个构造方法,对这三个成员变量进行初始化。同时,我们还提供了公共的 get 和 set 方法,用来获取和修改这些成员变量的值。 最后,我们还提供了一个计算年龄的方法 getAge()。实现时,我们首先将当前时间(2017年12月25日)减去出生时间的年份,就可以得到年龄。同时,需要判断出生日期是否输入正确。如果月份大于12或小于1,日期大于31或小于1,就说明输入有误。如果年份是2017年,而月份是12月,且日期大于25,那么年龄应该再减一岁。 为了验证这个类的功能,我们可以在主方法中写一个测试代码。首先,实例化一个birthday对象,然后通过 set 方法设置它的出生年月日。最后,调用 getAge 方法,输出年龄。代码如下: ``` public static void main(String[] args){ birthday b = new birthday(1998, 8, 18); //实例化一个birthday对象 b.setYear(2000); //修改年份 System.out.println("出生日期:" + b.getYear() + "年" + b.getMonth() + "月" + b.getDay() + "日"); System.out.println("年龄:" + b.getAge()); //输出年龄 } ``` 这个测试代码中,我们先将 birthday 对象的年份修改为 2000 年,然后输出它的出生日期、年龄。这个程序的输出结果如下: ``` 出生日期:2000年8月18日 年龄:17 ``` 从输出可以看出,这个 birthday 类的定义和实现是正确的,它可以正确地计算任意一个给定出生日期的年龄。 ### 回答3: 为了定义一个birthday类,首先要确定该类的成员变量。根据题目要求,我们需要保持3个整形变量,分别表示出生年月日,因此可以定义如下: ```python class Birthday: def __init__(self, year=0, month=0, day=0): self._year = year self._month = month self._day = day ``` 其中,我们使用了带有默认参数的构造函数,方便初始化对象,接着,我们需要设置get和set方法,以获取和修改成员变量的值。由于需要对年龄进行计算,我们还需要一个get_age()方法: ```python def get_year(self): return self._year def set_year(self, year): self._year = year def get_month(self): return self._month def set_month(self, month): self._month = month def get_day(self): return self._day def set_day(self, day): self._day = day def get_age(self): today = (2017, 12, 25) age = today[0] - self._year if today[1] < self._month or (today[1] == self._month and today[2] < self._day): age -= 1 return age ``` 在get_age()方法中,我们定义了一个元组(today),表示当前时间,然后利用该时间计算出该对象的年龄。 为了测试该类对象是否正常工作,我们可以编写一个简单的测试程序: ```python b = Birthday(1990, 4, 30) print(b.get_age()) # 输出27 b.set_year(1995) print(b.get_age()) # 输出22 ``` 在上述程序中,我们创建了一个Birthday对象b,并分别设置了它的年月日值。然后获取了该对象的年龄,之后通过修改年份,再次获取对象的年龄,以此来验证该类是否正常工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值