1. import java.text.DecimalFormat; 
  2. import java.text.FieldPosition; 
  3. import java.text.Format; 
  4. import java.text.NumberFormat; 
  5. import java.text.SimpleDateFormat; 
  6. import java.util.Calendar; 
  7.  
  8. import org.apache.log4j.Logger; 
  9.  
  10. public class GenerateSequenceUtil { 
  11.  
  12.     /** .log */ 
  13.     private static final Logger logger = Logger.getLogger(GenerateSequenceUtil.class); 
  14.  
  15.     /** The FieldPosition. */ 
  16.     private static final FieldPosition HELPER_POSITION = new FieldPosition(0); 
  17.  
  18.     /** This Format for format the data to special format. */ 
  19.     private final static Format dateFormat = new SimpleDateFormat("MMddHHmmssS"); 
  20.  
  21.     /** This Format for format the number to special format. */ 
  22.     private final static NumberFormat numberFormat = new DecimalFormat("0000"); 
  23.  
  24.     /** This int is the sequence number ,the default value is 0. */ 
  25.     private static int seq = 0
  26.  
  27.     private static final int MAX = 9999
  28.  
  29.     /** 
  30.      * 时间格式生成序列 
  31.      * @return String 
  32.      */ 
  33.     public static synchronized String generateSequenceNo() { 
  34.  
  35.         Calendar rightNow = Calendar.getInstance(); 
  36.  
  37.         StringBuffer sb = new StringBuffer(); 
  38.  
  39.         dateFormat.format(rightNow.getTime(), sb, HELPER_POSITION); 
  40.  
  41.         numberFormat.format(seq, sb, HELPER_POSITION); 
  42.  
  43.         if (seq == MAX) { 
  44.             seq = 0
  45.         } else { 
  46.             seq++; 
  47.         } 
  48.  
  49.         logger.info("THE SQUENCE IS :" + sb.toString()); 
  50.  
  51.         return sb.toString(); 
  52.     }