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

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));
    
    评论

报告相同问题?

悬赏问题

  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型