需求
具体就是根据出生时间判断是出生多久,并且按照出生的时间范围决定输出格式。
1星期内 : x天xx小时
1星期以上-1个月以内 : xx天
1个月以上-1周岁以内 : xx月xx天
1周岁以上-3周岁以内 : xx岁xx月
3周岁以上 : xx岁
思路
重点:
1使用Calendar类进行把出生时间和当前时间进行相减获取出生时间。
2通过出生时间计算出出生的总天数,并且使用总天数来进行范围的区分。
3考虑输入是yyyy-MM-dd HH:mm:ss,使用截取StringUtils工具类。
注意
Calendar类 月份指针是0代表1月,1代表二月,润平年的区分
上码
依赖
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
public static void main(String[] args) throws ParseException {
String s = parseAge("2015-11-11 08:06:00");
System.out.println(s);
}
public static String parseAge(String birthdayInfo){
String outPutStr="";
//获取出生时间2019-5-1 8:06:00
String birthdayInput = birthdayInfo;
String beforeStrDate = StringUtils.substringBefore(birthdayInput, " ");
String beforeStrDateYear = StringUtils.substringBefore(beforeStrDate, "-");
String betweenStrDateMouth = StringUtils.substringBetween(beforeStrDate, "-");
String afterLastStrDateDay = StringUtils.substringAfterLast(beforeStrDate, "-");
String afterStrDate = StringUtils.substringAfter(birthdayInput, " ");
String beforeStrDateHour = StringUtils.substringBefore(afterStrDate, ":");
System.out.println("beforeStrDateHour:"+beforeStrDateHour);
String betweenStrDateMinute = StringUtils.substringBetween