String.format()使用记录

工作中需要按照需求设置固定的编号,就用到了String.format()这里做一下记录

public static void main(String[] args) {
		//A20191209030001
		//A固定开头
		//20191209时间
		//03员工编号
		//0001产品编号
		String newPlanNo = newPlanNo("A20191209030001","A");
		System.out.println(newPlanNo);
	}
	
	public static String newPlanNo(String planNo,String ty) {
		String newPlanNo ="";
		SimpleDateFormat s = new SimpleDateFormat("yyyyMMdd");
		StringBuilder sb = new StringBuilder();
		if (planNo == null||planNo.equals("")) {
			sb.append(ty)
					.append(Long.parseLong(s.format(new Date())))
					.append(String.format("%02d",3))
					.append(String.format("%04d",1));
			newPlanNo = String.format("%19s", sb.toString()).trim();
		} else {
			String regEx="[^0-9]";
			Pattern p = Pattern.compile(regEx);
			Matcher m = p.matcher(planNo);
			String str = m.replaceAll("").trim();
			int length = str.length();
			System.out.println(length);
			String substring = str.substring(length-4,length);
			System.out.println(substring);
			sb.append(ty)
					.append(Long.parseLong(s.format(new Date())))
					.append(String.format("%02d",3))
					.append(String.format("%04d",Integer.parseInt(substring)+1));
			newPlanNo = String.format("%19s", sb.toString()).trim();
		}
		return newPlanNo;
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值