69 lines
1.9 KiB
Java
69 lines
1.9 KiB
Java
package com.czlis.interfaceCommon.utils;
|
||
|
||
import cn.hutool.core.date.DateUnit;
|
||
import cn.hutool.core.date.DateUtil;
|
||
|
||
import java.text.SimpleDateFormat;
|
||
import java.util.Calendar;
|
||
import java.util.Date;
|
||
import java.util.HashMap;
|
||
import java.util.Map;
|
||
|
||
public class LisUtil {
|
||
|
||
/**
|
||
* 生日格式为:yyyy-MM-dd
|
||
* 根据出生日期计算年龄
|
||
* @param birthday
|
||
* @return
|
||
*/
|
||
public static Map<String,String> getAgeFromBirthDay(String birthday){
|
||
Map<String,String> map = new HashMap<>();
|
||
int age = DateUtil.ageOfNow(birthday);
|
||
if(age > 0){
|
||
map.put("age",String.valueOf(age));
|
||
map.put("unit","岁");
|
||
}else if(age == 0){
|
||
//不足一年的
|
||
long between = DateUtil.between(DateUtil.parse(birthday, "yyyy-MM-dd"), DateUtil.parse(DateUtil.today(), "yyyy-MM-dd"), DateUnit.DAY,true);
|
||
|
||
if(between/30 > 0){
|
||
long month = between/30;
|
||
map.put("age",String.valueOf(month));
|
||
map.put("unit","月");
|
||
}else if( between/30 == 0){
|
||
//不足一月的
|
||
map.put("age",String.valueOf(between));
|
||
map.put("unit","天");
|
||
}else{
|
||
|
||
}
|
||
}else{
|
||
|
||
}
|
||
return map;
|
||
}
|
||
|
||
/**
|
||
* 根据年龄获取出生日期
|
||
* @param nl
|
||
* @return
|
||
*/
|
||
public static Date getBirthDayFromAge(int nl, String nldw){
|
||
Calendar cal = Calendar.getInstance();
|
||
cal.setTime(DateUtil.date());
|
||
switch (nldw){
|
||
case "岁":
|
||
cal.add(Calendar.YEAR,-nl);
|
||
case "月":
|
||
cal.add(Calendar.MONTH,-nl);
|
||
case "天":
|
||
cal.add(Calendar.DATE,-nl);
|
||
}
|
||
Date BirthDay = cal.getTime();
|
||
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
|
||
String format = df.format(BirthDay);
|
||
return DateUtil.parse(format,"yyyy-MM-dd");
|
||
}
|
||
}
|