Java和Shell版 十进制和十六进制(Hex)互转

 

文章来自: http://lxw1234.com/?p=221

 

     这两天碰到一个需求,需要将日期yyyy-MM-dd、到秒粒度的时间戳,转换成十六进制(HexString)。

记录一下实现方法。

 

Java版本:

String day = "2015-05-21";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date d = new Date();
//将2015-05-21转换成时间戳
int unixtimstamp1 = (int) (sdf.parse(day).getTime()/1000);
//将时间戳转换为十六进制字符串
String hexString = String.format("%08X", unixtimstamp1);
System.out.println("HexString: [" + hexString + "] ..");
//将十六进制字符串转回时间戳
int unixtimstamp2 = Integer.parseInt(hexString,16);
d.setTime(unixtimstamp2*1000l);
System.out.println(sdf.format(d));

 

运行结果:

HexString: [555CAF80] ..
2015-05-21

 

Shell版本:

http://lxw1234.com/?p=221

你可能感兴趣的:(十六进制,hexstring)