当前位置: 代码迷 >> J2SE >> 想得到一个样式201111080001解决思路
  详细解决方案

想得到一个样式201111080001解决思路

热度:160   发布时间:2016-04-24 02:30:13.0
想得到一个样式201111080001
想得到一个样式201111080001 ,像这样的一个样式。
今天的日期(年月日)+一个数(格式XXXX)

比如传过来数字是12.
那面以今天的日期。要得到的字符串是201111080012.
注意的是前八位是今天的日期。后四位是数字,不足的位数以0填充。

我想要2种方式,一种是java方式解决。
还有一种是oracle的sql方式解决。

------解决方案--------------------
java方式代码
Java code
public class StringFormatDemo {    public static String format(int number){        Date date=new Date();        DateFormat df=new SimpleDateFormat("yyyyMMdd");        String s1=df.format(date);        NumberFormat nf=new DecimalFormat("0000");        String s2=nf.format(number);        return s1+s2;    }    public static void main(String[] args) {        System.out.println(format(1));    }}
------解决方案--------------------
have a try
Java code
int id = 12;String s = String.format("%tF%04d", new Date(), id).replaceAll("-", "");System.out.println(s);
------解决方案--------------------
orcale
SQL code
select to_char(sysdate, 'YYYYMMDD') | to_char(id, '0000') from dual
------解决方案--------------------
select replace(to_char(sysdate, 'YYYYMMDD') || to_char(1, '0000'),' ','') from dual
  相关解决方案