Java 计算年龄详解编程语言

import org.junit.Test; 
import java.text.SimpleDateFormat; 
import java.util.Calendar; 
import java.util.Date; 
 
/** 
 * @author ceshi 
 * @Title: JunitAge 
 * @ProjectName ceshi 
 * @Description: TODO 
 * @date 2018/6/2721:00 
 */ 
public class JunitAge { 
 
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); 
 
    @Test 
    public void testAge()throws Exception{ 
 
        int  age = getAge(format.parse("1993-06-27")); 
        System.out.println(age); 
 
    } 
 
    //由出生日期获得年龄 
    public  int getAge(Date birthDay) throws Exception { 
        int age = 0; 
        Calendar cal = Calendar.getInstance(); 
        if (cal.before(birthDay)) { 
           return age; 
        } 
        int yearNow = cal.get(Calendar.YEAR); 
        int monthNow = cal.get(Calendar.MONTH); 
        int dayNow = cal.get(Calendar.DAY_OF_MONTH); 
        cal.setTime(birthDay); 
 
        int yearBirth = cal.get(Calendar.YEAR); 
        int monthBirth = cal.get(Calendar.MONTH); 
        int dayBirth = cal.get(Calendar.DAY_OF_MONTH); 
        //年相减 
        age = yearNow - yearBirth; 
        //判断月份 
        if (monthNow <= monthBirth) { 
            if (monthNow == monthBirth) { 
                //判断天 
                if (dayNow < dayBirth){ 
                    age--; 
                } 
            }else{ 
                age--; 
            } 
        } 
        return age; 
    } 
}

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/18541.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论