wxdsse 2018-04-28 03:27 采纳率: 0%
浏览 3792
已结题

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

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

  • 写回答

2条回答

  • threenewbee 2018-04-28 03:38
    关注
     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));
    
    评论

报告相同问题?

悬赏问题

  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突