📄 idmakerutil.java
字号:
package com.util;
import java.util.*;
public class IDMakerUtil
{
private int length;
public String prefix;
public String id;
public String currentDate;
public IDMakerUtil()
{
prefix = "";
id = "NoChange";
currentDate = null;
prefix = "OD";
length = 15;
}
public IDMakerUtil(int len, String prfx)
{
prefix = "";
id = "NoChange";
currentDate = null;
length = len;
prefix = prfx;
}
public void setLength(int len)
{
if(len < 13)
length = 13;
length = len;
}
public int getLength()
{
return length;
}
public String getPrefix()
{
return prefix;
}
public void setPrefix(String prfx)
{
if(prfx.length() > 2)
{
prefix = prfx.substring(0, 2);
return;
} else
{
prefix = prfx;
return;
}
}
public void setCurrentDate(String str)
{
currentDate = str;
}
public String getCurrentDate()
{
Calendar now = new GregorianCalendar();
int year = now.get(1);
int month = now.get(2) + 1;
int date = now.get(5);
return String.valueOf(String.valueOf((new StringBuffer("")).append(year).append("-").append(month).append("-").append(date)));
}
public String getId()
{
if(length < 13)
return id;
if(prefix.equals(""))
prefix = "AA";
if(prefix.length() > 2)
prefix = prefix.substring(0, 2);
if(prefix.length() < 2)
prefix = String.valueOf(String.valueOf(prefix)).concat("A");
if(length < 15)
return less15();
else
return more15();
}
public void setId(String id)
{
this.id = id;
}
private String less15()
{
Calendar now = new GregorianCalendar();
Calendar from = new GregorianCalendar(2003, 2, 18);
String tempID = "";
Long millis = new Long(now.getTime().getTime() - from.getTime().getTime());
tempID = millis.toString();
int temp = tempID.length();
for(int i = 0; i < 13 - temp; i++)
tempID = String.valueOf(String.valueOf(tempID)).concat("0");
tempID = tempID.substring(0, length - 2);
return String.valueOf(prefix) + String.valueOf(tempID);
}
private String more15()
{
Calendar now = new GregorianCalendar();
String tempID = "";
int year = now.get(1);
int month = now.get(2) + 1;
int date = now.get(5);
Long millis = new Long(now.getTime().getTime());
tempID = millis.toString().substring(6, 13);
if(date < 10)
tempID = String.valueOf(String.valueOf((new StringBuffer("0")).append(date).append(tempID)));
else
tempID = String.valueOf(date) + String.valueOf(tempID);
if(month < 10)
tempID = String.valueOf(String.valueOf((new StringBuffer("0")).append(month).append(tempID)));
else
tempID = String.valueOf(month) + String.valueOf(tempID);
tempID = String.valueOf(year) + String.valueOf(tempID);
if(length < 18 && length >= 15)
tempID = tempID.substring(17 - length, tempID.length());
if(length >= 18)
{
for(int i = 0; i < length - 17; i++)
tempID = String.valueOf(String.valueOf(tempID)).concat("0");
}
return String.valueOf(prefix) + String.valueOf(tempID);
}
public String getLess13ID(String prex,int nlen)
{
setPrefix(prex);
setLength(nlen);
return getId();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -