private static Calendar pre= null ;
private static int index = 1;
private static SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
public static synchronized String getSerialNumber() {
Calendar current = Calendar.getInstance();
System.out.println(current);
StringBuffer sb = new StringBuffer(sdf.format(current.getTime()));
if (pre == null) {//刚进入
pre = current;
index = 1;
sb.append("001");
} else {//比较年月日,相同时加1
int preYear=pre.get(Calendar.YEAR);//得到年
int preMonth=pre.get(Calendar.MONTH)+1;//得到月,因为从0开始的,所以要加1
int preDay=pre.get(Calendar.DAY_OF_MONTH);//得到天
int currentYear=current.get(Calendar.YEAR);//得到年
int currentMonth=current.get(Calendar.MONTH)+1;//得到月,因为从0开始的,所以要加1
int currentDay=current.get(Calendar.DAY_OF_MONTH);//得到天
if (preYear == currentYear && preMonth==currentMonth && preDay == currentDay) {//当年月日相同时,流水号加1
String temp = String.valueOf(++index);
int length = temp.length();
for(int i = 0; i<3-length;i++) {
sb.append("0");
}
sb.append(temp);
} else {//不同时,从001开始
pre = current;
index = 1;
sb.append("001");
}
}
return sb.toString();
}
private static int index = 1;
private static SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
public static synchronized String getSerialNumber() {
Calendar current = Calendar.getInstance();
System.out.println(current);
StringBuffer sb = new StringBuffer(sdf.format(current.getTime()));
if (pre == null) {//刚进入
pre = current;
index = 1;
sb.append("001");
} else {//比较年月日,相同时加1
int preYear=pre.get(Calendar.YEAR);//得到年
int preMonth=pre.get(Calendar.MONTH)+1;//得到月,因为从0开始的,所以要加1
int preDay=pre.get(Calendar.DAY_OF_MONTH);//得到天
int currentYear=current.get(Calendar.YEAR);//得到年
int currentMonth=current.get(Calendar.MONTH)+1;//得到月,因为从0开始的,所以要加1
int currentDay=current.get(Calendar.DAY_OF_MONTH);//得到天
if (preYear == currentYear && preMonth==currentMonth && preDay == currentDay) {//当年月日相同时,流水号加1
String temp = String.valueOf(++index);
int length = temp.length();
for(int i = 0; i<3-length;i++) {
sb.append("0");
}
sb.append(temp);
} else {//不同时,从001开始
pre = current;
index = 1;
sb.append("001");
}
}
return sb.toString();
}