Jmeter构造测试数据之 根据身份证号码计算出当前年龄

发布时间 2023-03-22 21:11:44作者: BKY007-谢志飞

 

 

 

import java.util.*;
import java.lang.*;

String riqi =prev.getResponseDataAsString();//获取响应结果
String year=riqi.substring(6,10);//截取年份
String month=riqi.substring(10,12);//截取月份
String date=riqi.substring(12,14);//截取日

String birthday=year+"-"+month+"-"+date;//拼接日期格式
log.info("出生日期:"+ birthday); //出生日期输出日志
vars.put("Mytest_birthday", birthday); //传递身份证上的出生日期

int year_birth=Integer.parseInt(year); //字符串转换为整型
int month_birth=Integer.parseInt(month);
int date_birth=Integer.parseInt(date);
//log.info("打印出生年整型:"+ year_birth);
//log.info("打印出生月整型:"+ month_birth);
//log.info("打印出生日整型:"+ date_birth);


Long Ldate = System.currentTimeMillis();
Date date1 = new Date(Ldate);
int year_now=date1.getYear()+1900; //当前年
int month_now=date1.getMonth()+1;//当前月
int date_now=date1.getDate();//当前日

//log.info("打印当前年整型:"+ year_now);
//log.info("打印当前月整型:"+ month_now);
//log.info("打印当前日整型:"+ date_now);


int age=year_now-year_birth; //年龄计算
if (month_now<=month_birth)
if(month_now==month_birth){
if(date_now<date_birth)
age=age-1;
}
else{
age=age-1;
}
String str_age = Integer.toString(age);//整型转换为字符串类型 再传参,由于vars.put()接收的是字符串类型

log.info("患者年龄:"+ str_age); //出生年龄
vars.put("Mytest_age", str_age);//年龄传递