繁体   English   中英

Java中到日期的字节数组

[英]Byte array to Date in Java

我有一个字节数组,其中4个字节是从drv的标头中提取的,而这4个字节表示视频帧的时间戳。 所以我需要在Date或TimeStamp中转换这4个字节。 这是我在第一帧中得到的数组和值: byte[] array= {192, 242, 217, 84}; 我将非常感谢您的帮助。

byte[] array= {192, 242, 217, 84};
int timestamp = ByteBuffer.wrap(array).getInt();

谢谢大家,我已经做到了。 这里您有解决方案:

String binary=toBin(head[11])+toBin(head[10])+toBin(head[9])+toBin(head[8]);
long unixSeconds=stringToInt(binary);

Date date = new Date(unixSeconds*1000L); 

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z");

sdf.setTimeZone(TimeZone.getDefault()); 

String formattedDate = sdf.format(date);
System.out.println(formattedDate); 


public static String toBin(byte numDec){

        int num= UnsignedBytes.toInt(numDec);
        if(num==0)
                return "00000000";

        String result=Integer.toBinaryString(num);
        int cont= 8-result.length()%8;
        if(cont!=8){
            for(int i=0; i<cont;i++){
                result="0"+result;
            }
        }
            return result;  }

public static long stringToInt(String bin){

          long result=0;
          bin= bin.trim();
          for(int i=bin.length()-1;i>=0;i--){
              String aux= String.valueOf(bin.charAt(i));          
              result+= Integer.parseInt(aux)* Math.pow(2, (bin.length()-1-i));
          }
          return result;
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM