因为生成订单ID、商品ID 或者什么什么ID的,不想用自增,又怕反复,于是就用  年与日时分秒 + 6位自增码 (共计20位长度)来当作ID

注意:假设你的ID是Long型。就要注意,Long的最大长度为19位,假设直接转的话会有问题,建议改为年月日时分秒+5位随机数

详细代码:

private static int sequence = 0;

	private static int length = 6;

	/**
* YYYYMMDDHHMMSS+6位自增长码(20位)
* @author shijing
* 2015年6月29日下午1:25:23
* @return
*/
public static synchronized String getLocalTrmSeqNum() {
sequence = sequence >= 999999 ? 1 : sequence + 1;
String datetime = new SimpleDateFormat("yyyyMMddHHmmss")
.format(new Date());
String s = Integer.toString(sequence);
return datetime +addLeftZero(s, length);
} /**
* 左填0
* @author shijing
* 2015年6月29日下午1:24:32
* @param s
* @param length
* @return
*/
public static String addLeftZero(String s, int length) {
// StringBuilder sb=new StringBuilder();
int old = s.length();
if (length > old) {
char[] c = new char[length];
char[] x = s.toCharArray();
if (x.length > length) {
throw new IllegalArgumentException(
"Numeric value is larger than intended length: " + s
+ " LEN " + length);
}
int lim = c.length - x.length;
for (int i = 0; i < lim; i++) {
c[i] = '0';
}
System.arraycopy(x, 0, c, lim, x.length);
return new String(c);
}
return s.substring(0, length); }

以下是測试的结果:

2015070816503700001

最新文章

  1. 电商总结(五)移动M站建设
  2. 【JavaScript】Write和Writeln的区别
  3. 小tips: 使用&amp;#x3000;等空格实现最小成本中文对齐
  4. Native code on Windows Phone 8(转)
  5. Java学习之强引用,弱引用,软引用 与 JVM
  6. Mybaits学习总结2
  7. 拼写纠正 Artificial Intelligence: A Modern Approach
  8. Spring+SpringMVC+MyBatis)
  9. bzoj题解汇总(1001-1016)
  10. mybatis中的mapper.xml
  11. HDU 5348 MZL&#39;s endless loop 给边定向(欧拉回路,最大流)
  12. 学习W3SCHOOL 表单验证
  13. SqlServer中截取字符串
  14. mouseover,mouseout和mouseenter,mouseleave
  15. COM模块三---根的形成和注册代理server(Building and Registering a Proxy DLL)
  16. 自学LinkedBlockingQueue源码
  17. shell脚本实现anisble客户端脚本分发和密钥授权配置
  18. Algorithm --&gt; Kruskal算法和Prim算法
  19. .net 客户端调用java或.net webservice进行soapheader验证
  20. 在已有数据的表中添加id字段并且自增

热门文章

  1. css一些我所不熟练的属性
  2. uboot显示logo的方式
  3. 可添加头部尾部RecyclerView,很帅哦~
  4. JIRA Service Desk 3.9.2 没有许可证
  5. [Linux] ubuntu 软件安装必须看的网址
  6. glsl水包含倒影的实现(rtt) 【转】
  7. stylus使用文档总结:选择器+变量+插值+运算符+混合书写+方法
  8. Java Web----EL(表达式语言)详解
  9. 安装程序集&#39;&#39; policy.8.0.microsoft.vc80.atl,type=&#39;&#39;win32-
  10. Afinal的jar包进行代码混淆出错