想得到一个样式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