java根据年月编号递增

要实现一个编号的问题

格式如下:
KH_201401(年月)_0001(按年月归类递增)) ,2014年9月的编号如:KH_201409_0001,KH_201409_0002

当月份增到10月,要重新计算,从KH_201410_0001开始。

请问该如何实现编程,要不要数据库序列配合?

2个回答

你需要名称改成日期相关吧,用日期格式化实现,希望对你有帮助。
[code="java"][/code]
public class Test {

private String seq = null;
private SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM_00dd"); 

public void print(){

    Date date = new Date();
    seq = "KH_" + sdf.format(date);
    System.out.println(seq);

}

public static void main(String[] args) {
    new Test().print();
}

}

xuhuandeid
xuhuandeid 你要计数的话在对时间处理下就可以了,先设置一个初始序号的时间值。 public class Test { private String seq = null; private Calendar cal = Calendar.getInstance(); private SimpleDateFormat sdf = new SimpleDateFormat("yyyymm_00dd"); private int i = 1; public void print(){ //设置第一个序号相关值,月份是0~11月的所以正常月份要加1 cal.set(2014, 8, 2); //模拟页面事件触发 i = i + 1; cal.add(Calendar.DAY_OF_MONTH, i); Date date = cal.getTime(); seq = "KH_" + sdf.format(date); System.out.println(seq); } public static void main(String[] args) { new Test().print(); } }
接近 6 年之前 回复
sky_ket
sky_ket 你这个好像只能每天递增1,我这个在页面触发事件就要生成。
接近 6 年之前 回复

我觉得可以
KH_[0]_[1]
这个0和1可以当成一个动态参数,这个编号就不要设置自动递增,你手动赋值进去
程序中你肯定会知道当前的年份以及月份,你拼接进去就可以了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐