public String getAge(String birthdayDate,String endDate){
String result = " 岁 月 日 小时";
if(BaseUtil.isEmpty(birthdayDate)||BaseUtil.isEmpty(endDate)){
return result;
}
try {
Date birthTime = DateUtil.stringToDate(birthdayDate, "yyyy-MM-dd HH:mm");
Date endTime = DateUtil.stringToDate(endDate, "yyyy-MM-dd HH:mm");
Calendar bc = Calendar.getInstance();
bc.setTime(birthTime);
Calendar dc = Calendar.getInstance();
dc.setTime(endTime );
int hour = dc.get(Calendar.HOUR_OF_DAY)-bc.get(Calendar.HOUR_OF_DAY);
int minute = dc.get(Calendar.MINUTE)-bc.get(Calendar.MINUTE);
int day = dc.get(Calendar.DAY_OF_MONTH) - bc.get(Calendar.DAY_OF_MONTH);
int month = dc.get(Calendar.MONTH) - bc.get(Calendar.MONTH);
int year = dc.get(Calendar.YEAR) - bc.get(Calendar.YEAR);
//按照减法原理,先day相减,不够向month借;然后month相减,不够向year借;最后year相减。
if(minute<0){
hour--;
}
if(hour<0){
day --;
hour = 24+hour;
}
if(day<0){
month --;
dc.add(Calendar.MONTH, -1);//得到上一个月,用来得到上个月的天数。
day = day + dc.getActualMaximum(Calendar.DAY_OF_MONTH);
}
if(month<0){
month = (month+12)%12;
year--;
}
StringBuffer buffer = new StringBuffer();
if(year>0){
buffer.append(year+"岁");
buffer.append(month+"月");
}else{
if(month>0){
buffer.append(month+"月");
}
}
buffer.append(day+"日");
buffer.append(hour+"小时");
return buffer.toString();
} catch (RuntimeException e) {
//e.printStackTrace();
}
return result;
}
分别获得两个时间的分、时、天、月、年。从分开始计算,不够则从上一个单位借。
分享到:
相关推荐
通过入参 生日 ,计算日期(默认sysdate),计算年龄 精确到秒
powerbuilder技术开发,根据转入生日,自动计算年龄。
在JavaScript编程中,计算年龄和实现生日倒计时是一项常见的任务,这主要涉及到日期对象的处理和时间差的计算。让我们深入探讨这个话题。 首先,计算年龄的基本原理是拿当前日期与出生日期进行比较,计算出两者之间...
3. `2013 – 60 * 24 * TRUNC(2013 / 24 / 60, 0) – 60 * trunc((2013 – 60 * 24 * TRUNC(2013 / 24 / 60, 0)) / 60, 0)`:计算剩余的分钟数,即从总分钟数中减去天数和小时数的总和。 这个查询的结果将返回一个...
3. **计算年龄**:通过`ChronoUnit.DAYS.between()`方法计算两个日期之间的天数差,然后将天数转换为分钟。也可以直接使用`Duration.between()`计算更精确的分钟数。 4. **显示结果**:将计算出的年龄以分钟为单位...
在ABAP编程环境中,处理日期相关的操作是必不可少的技能之一,尤其在企业级应用中,对日期进行精确计算和分析尤为重要。以下是从给定文件中提取的关键知识点,这些知识点覆盖了ABAP中处理日期的各种常见需求,包括...
它可以与今天的日期进行比较,以计算年龄或确定两个事件之间的年数差。 7. TODAY函数:TODAY返回当前系统的日期,是一个序列号,常用于动态更新日期,例如记录创建或更新日期。 8. NOW函数:与TODAY类似,NOW不仅...
在计算年龄时,YEAR(TODAY()) - YEAR(Birthdate) 可以得到当前年龄。 7. TODAY函数: TODAY函数返回系统当前日期的序列号,常用于动态获取当前日期。例如,`=TODAY()`将在任何时间显示当前的日期。 8. NOW函数: ...
在SQL中,计算年龄是一个常见的需求,特别是在处理与时间相关的...总的来说,计算年龄涉及到对日期的理解和处理,SQL提供了多种工具来实现这一目标。选择哪种方法取决于你对精度的需求以及你正在使用的SQL数据库系统。
这在某些场合下会非常有用,例如,当需要精确到分钟的年龄时。这种情况下,函数可能会进行以下操作: 1. 同样获取当前日期(SYSDATE)。 2. 计算日期差,并保持为INTERVAL YEAR TO MONTH类型,这样我们可以直接获取...
它采用现代编程语言Kotlin进行开发,提供了一种简洁、直观的方式,让用户能够迅速了解到自己或他人的年龄,精确到分钟级别。** ### Kotlin语言介绍 Kotlin是由JetBrains公司开发的一种静态类型编程语言,它在2011年...
3. **估算与精确计算**:在先估算,再精确计算的部分,例如328+299, 304-258, 和655-162,学生需要学会先进行快速估算,然后进行精确计算,这有助于培养他们的近似思维和实际问题解决能力。 4. **单位转换**:填空...
5. 锯木头的时间计算:题目给出了锯3段木头需要6分钟,可以推算出每锯一次所需时间,然后用于计算锯20段所需总时间。 6. 能被2、3、5整除的数:最大的三位数应该是这三个数的公倍数,即30的倍数,并且尽可能大,...
- 第二题中,0.42×1.8的积需要计算并精确到十分位,考察小数乘法及近似值的处理。 3. **循环小数**: - 第三题的1.4÷0.9需要转换为循环小数并精确到千分位,理解循环小数的表示方法及其四舍五入规则。 4. **...
7. **近似数的应用**:在实际问题中,例如测量物体的长度、估计年龄、计算书的页数等,我们通常会使用近似数,因为它更便于处理和理解。 8. **取近似数的方法**:在取近似数时,需要注意保留的位数,如将1.025米四...
4. 学习分析软件计算结果:学会评估计算准确性,针对可能出现的问题进行调整,提升计算精确度。 5. 参加应用培训以获取更多实战经验:除了基础学习,进一步的实际操作训练将有助于深化理解和技能提升。 本教材采用...
"年龄计算器"是一个实用的工具,它能够帮助用户计算个人的年龄,并且精确到天、小时、分钟甚至秒。在IT行业中,这类应用通常属于时间管理和个人信息管理类别,它们能够根据用户输入的出生日期,快速地计算出当前的...
1. **快速估算**:在面对复杂的计算时,快速估算可以帮助我们确定答案的大致范围,避免做无用的精确计算,节省时间。 2. **模式识别**:在数量关系题中,常会出现一些重复的数字序列或者规律,如等差数列、等比数列...
- 这是一道基础的计算年龄的问题。给定一个整数n,由出生年份的前两位和后两位相加得到,需要计算出对应的年龄。解决方案是通过当前年份减去出生年份,并考虑年份可能小于当前年份的情况。年龄计算涉及基础的数学...
6. 快速通知问题:这是一个典型的二分法问题,老师每分钟通知一名学生,第n分钟可以通知到2^n - 1名学生,所以12名学生最快需log2(12) + 1分钟,即4分钟。 7. 年龄关系表达:小明a岁,爸爸年龄是3a + b岁。 8. ...