`
salute
  • 浏览: 55108 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

算年龄

 
阅读更多
1

SELECT
    name_sei ||' '||name_mei as staff_NM,
    ten_cd,
    staff_cd,
    birthday,
    case sex when '1' then '男性' else '女性' end  as strSex,
    (TO_DATE(TO_CHAR(NOW(),'YYYY/MM/DD') ,'YYYY/MM/DD') -BIRTHDAY)/365 AS AGE,  //直接算
    TO_CHAR(BIRTHDAY,'yyyy-MM-dd') AS  BIRTHDAY
FROM
    t_staff
WHERE
    staff_cd = '999999'

2

//年齢=生年月日より、年齢を算出する

年齢=TODAY()(DBから取得する)の年

生年月日の月≦ TODAY()の月日の場合、
年齢 = 上で取得した年齢
生年月日の月 > TODAY()の月日の場合、
年齢 = 上で取得した年齢



//年齢=生年月日より、年齢を算出する
					 String birthday=delStrNulls(rs.getString("BIRTHDAY"));	
			         int age=0;
			         int month=0;
			         int day=0;
					SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
					//システムの年、月、日
					String cYear = sdf.format(new Date()).substring(0,4);
					String cmonth = sdf.format(new Date()).substring(5,7);
					String cday = sdf.format(new Date()).substring(8,10);
					//	誕生日のシステムの年、月、日
					if(birthday.length()>0){
					String bYear = birthday.substring(0,4);
					String bmonth  = birthday.substring(5,7);				
					String bday  = birthday.substring(8,10);
					month=Integer.parseInt(bmonth);
					day=Integer.parseInt(bday);
					int year= Integer.parseInt(cYear) - Integer.parseInt(bYear);
                    if(month<Integer.parseInt(cmonth)){                    	
                    	age=year;
                    }else if(month==Integer.parseInt(cmonth)){
                    	if(day<=Integer.parseInt(cday)){
                    		age=year;
                    	}else{
                        	age=year-1;
                        }
                    }
                    else{
                    	age=year-1;
                    }
					}	
					if(age!=0){
					vo.setAge(age+"");
					}else{
						vo.setAge("");	
					}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics