java日期转成6字节的BCD格式

字段:时间 数据类型byte[6]
描述:BCD格式时间
java日期转成6字节的BCD格式

 public static byte[] str2Bcd(String asc) {  
    int len = asc.length();  
    int mod = len % 2;  

    if (mod != 0) {  
     asc = "0" + asc;  
     len = asc.length();  
    }  

    byte abt[] = new byte[len];  
    if (len >= 2) {  
     len = len / 2;  
    }  

    byte bbt[] = new byte[len];  
    abt = asc.getBytes();  
    int j, k;  

    for (int p = 0; p < asc.length()/2; p++) {  
     if ( (abt[2 * p] >= '0') && (abt[2 * p] <= '9')) {  
      j = abt[2 * p] - '0';  
     } else if ( (abt[2 * p] >= 'a') && (abt[2 * p] <= 'z')) {  
      j = abt[2 * p] - 'a' + 0x0a;  
     } else {  
      j = abt[2 * p] - 'A' + 0x0a;  
     }  

     if ( (abt[2 * p + 1] >= '0') && (abt[2 * p + 1] <= '9')) {  
      k = abt[2 * p + 1] - '0';  
     } else if ( (abt[2 * p + 1] >= 'a') && (abt[2 * p + 1] <= 'z')) {  
      k = abt[2 * p + 1] - 'a' + 0x0a;  
     }else {  
      k = abt[2 * p + 1] - 'A' + 0x0a;  
     }  

     int a = (j << 4) + k;  
     byte b = (byte) a;  
     bbt[p] = b;  
    }  
    return bbt;  
}  

Date now = new Date();
SimpleDateFormat f=newSimpleDateFormat("今天是"+"yyyy年MM月dd日 E kk点mm分");
byte[] result = str2Bcd(f.format(now));

为什么转出来的是7个字节1811318095442