java时间做编号的代码,java时间做编号的代码有哪些

java自动生成‘日期0001’顺序号 如‘201404170001’,生成下一个时不重复

#DROP FUNCTION IF EXISTS func_getVoucherId ;

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站制作、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的任丘网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

CREATE FUNCTION func_getVoucherId /*生成凭证编号*/

(

f_str varchar(255)

)

returns varchar(255) charset utf8

begin

/*获取最大凭证号*/

declare v_maxVoucherId varchar(255) default '';

/*获取最大凭证号*/

declare v_flowMaxVoucherId varchar(255) default '';

/*新的凭证号*/

declare v_newVoucherId varchar(255) default '';

/*判断是新增存盘还是入账存盘*/

if ifnull(rtrim(f_str),'') = '' then

select max(voucher_code) into v_maxVoucherId from finance_voucher ;

if ifnull(rtrim(v_maxVoucherId),'')='' then

set v_newVoucherId = rpad(replace(cast(curdate() as char(255)),'-',''),11,0); /*生成凭证编号*/

else

set v_newVoucherId = convert((convert(v_maxVoucherId,signed)+1),char(255));

end if ;

elseif ifnull(rtrim(f_str),'') = 'r' then

select max(voucherInfo) into v_flowMaxVoucherId from province_voucher_account_flow ;

if ifnull(rtrim(v_flowMaxVoucherId),'')='' then

set v_newVoucherId = rpad(replace(cast(curdate() as char(255)),'-',''),12,0); /*生成凭证编号*/

else

set v_newVoucherId = convert((convert(v_flowMaxVoucherId,signed)+1),char(255));

end if ;

end if ;

return v_newVoucherId ;

end ;

我目前做的项目也涉及到了这个生成规则,我用MYSQL数据库函数写了一个,你看下吧,希望能帮到你

想用java自动生成货品编号的代码,生成规则如下:

那就传分类的参数,去生成呗,,,,,从数据中确定下一个编号

~

~

~

java 按天生成序号

提供2个思路:

1:存取最后一次序列号的日期,每次生成序号的时候取该日期和当前日期对比不同则重新计数,并将本次日期覆盖为最后一次序列号的日期;

2:如果用数据库存储的话可以考虑每次去数据库查询是否有like当前日期的序号,没有则重新计数;

java中自动生成有规律的编号

public class Main {

private static long n = 1;

public static void main(String[] args) {

System.out.println(test(n));

System.out.println(test(n));

}

public static long test(long l) {

String str = new SimpleDateFormat("yyyyMM")

.format(new java.util.Date());

long m = Long.parseLong((str)) * 10000;

long ret = m + l;

n = l + 1;

return ret;

}

}

java 编程中显示日期和时间的代码

可以直接通过jdk基本方法,获取到当前的时间

Date date= new Date();//创建一个时间对象,获取到当前的时间

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置时间显示格式

String str = sdf.format(date);//将当前时间格式化为需要的类型

System.out.println(str);//输出结果

结果为:2015-11-06 13:53:54(实时)。

如何生成一个年年+月月+6位序号(java)

public class test1 {

public synchronized static String getNum(){

StringBuffer sb=new StringBuffer();

Calendar cal = new GregorianCalendar();

int year = cal.get(Calendar.YEAR);

int month = cal.get(Calendar.MONTH)+1;

sb.append(year);

if(month10){

sb.append("0"+month);

}else{

sb.append(month);

}

sb.append(getLastSixNum());

return sb.toString();

}

public static String getLastSixNum(){

int count = 0;

char str[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };

StringBuffer pwd = new StringBuffer("");

Random r = new Random();

while (count 6) {

int i = Math.abs(r.nextInt(10));

if (i = 0 i str.length) {

pwd.append(str[i]);

count++;

}

}

return pwd.toString();

}

public static void main(String []args){

System.out.println(test1.getLastSixNum());

System.out.println(test1.getNum());

}

}

在getLastSixNum()方法体中还可以自己设置规则。。

我是采用随即产生的了。。

如果要是产生不重复的号码 最好再getNum()方法上加锁

我有修改了我的方案: 采用日期和后续六位键值对的形式

这样做的好处是 日期改变时候,后续六位从1开始记位

import java.util.Calendar;

import java.util.GregorianCalendar;

import java.util.HashMap;

import java.util.Map;

public class test1 {

private static MapString,String map=new HashMapString, String();

private static String STATNUM="000001";

public String getYearAndMonth(){

StringBuffer sb=new StringBuffer();

Calendar cal = new GregorianCalendar();

int year = cal.get(Calendar.YEAR);

int month = cal.get(Calendar.MONTH)+1;

sb.append(year);

if(month10){

sb.append("0"+month);

}else{

sb.append(month);

}

return sb.toString();

}

public String getLastSixNum(String s){

String rs=s;

int i=Integer.parseInt(rs);

i+=1;

rs=""+i;

for (int j = rs.length(); j 6; j++) {

rs="0"+rs;

}

return rs;

}

public synchronized String getNum(){

String yearAMon=getYearAndMonth();

String last6Num=map.get(yearAMon);

if(last6Num==null){

map.put(yearAMon,STATNUM);

}else{

map.put(yearAMon,getLastSixNum(last6Num));

}

return yearAMon+map.get(yearAMon);

}

public static void main(String []args){

test1 t= new test1();

System.out.println(t.getNum());

System.out.println(t.getNum());

System.out.println(t.getNum());

}

}

测试结果:

201109000001

201109000002

201109000003


标题名称:java时间做编号的代码,java时间做编号的代码有哪些
转载来于:http://scjbc.cn/article/hohgge.html

其他资讯