自定义商品序列号

本文介绍了一种将日期转换为不易被直观识别的序列号的方法,通过将数字替换为特定字母实现。这种方法适用于需要隐藏日期信息的商品序列号等场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

叼炸天商品序列号
生成商品序列号包含日期,但外部人员一眼看不出日期
如何做
我们知道日期是用数字表示,即0-9十位数字
我们可以重新定义0-9数字的显示

0 1  2  3 4  5 6  7  8  9
A B C D E F G H  I  J 

使用字母A-J来表示数字0-9
这属于我们自定义规则
A-J可以是任何字符或者其他都可以

已java为例:

package time;

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateFormat {

	public static void main(String[] args) {
	
		System.out.println(timeStyle());
		
	}
	
	/**
	 * 获取日期
	 * 如今天日期190330
	 * */
    public static String getDateTime(){
    	SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd");
        return sdf.format(new Date());
    }
    
    /**
     * 拆分,转换,拼接
     * */
    public static String timeStyle() {
    	String time = getDateTime();
    	String substr1 = time.substring(0, 1);
    	String substr2 = time.substring(1, 2);
    	String substr3 = time.substring(2, 3);
    	String substr4 = time.substring(3, 4);
    	String substr5 = time.substring(4, 5);
    	String substr6 = time.substring(5, 6);
    	
    	StringBuilder strBuilder = new StringBuilder();
    	//swap()数字转字母方法
    	strBuilder.append(swap(substr1));
    	strBuilder.append(swap(substr2));
    	strBuilder.append(swap(substr3));
    	strBuilder.append(swap(substr4));
    	strBuilder.append(swap(substr5));
    	strBuilder.append(swap(substr6));
    	return strBuilder.toString();
    }
    
    /**
     * 数字转字母
     * */
    public static String swap(String str) {
    	if(str.equals(String.valueOf(0))) {
    		str = "A";
    	}else if(str.equals(String.valueOf(1))){
    		str = "B";
    	}else if(str.equals(String.valueOf(2))){
    		str = "C";
    	}else if(str.equals(String.valueOf(3))){
    		str = "D";
    	}else if(str.equals(String.valueOf(4))){
    		str = "E";
    	}else if(str.equals(String.valueOf(5))){
    		str = "F";
    	}else if(str.equals(String.valueOf(6))){
    		str = "G";
    	}else if(str.equals(String.valueOf(7))){
    		str = "H";
    	}else if(str.equals(String.valueOf(8))){
    		str = "I";
    	}else if(str.equals(String.valueOf(9))){
    		str = "J";
    	}
    	return str;
    }
    
    
}

java水平一般,可能写的代码多了些,欢迎指正。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值