如何在java中将日期转换为十六进制
发布时间:2020-12-15 02:13:55 所属栏目:Java 来源:网络整理
导读:我不熟悉 java,我需要获取当前的datetime并将其表示为一个字符串,例如: #1:135790246811221:1:*,00000000,UP,060B08,0D1908# 其中060B08是YYMMDD:GPS日期(2006年11月8日). 6个字符,十六进制. 和0D1908是HHMMSS:发送时间,6个字符,十六进制 YYMMDD:发送日
我不熟悉
java,我需要获取当前的datetime并将其表示为一个字符串,例如:
#1:135790246811221:1:*,00000000,UP,060B08,0D1908# 其中060B08是YYMMDD:GPS日期(2006年11月8日). 6个字符,十六进制. 和0D1908是HHMMSS:发送时间,6个字符,十六进制 YYMMDD:发送日期(13:25:08),十六进制,例如::表示060B08. 我正在尝试这段代码: Calendar cal = Calendar.getInstance(); Date date = new Date(); String date_str = String.format("%02x%02x%02x",cal.getTime().getYear(),cal.getTime().getMonth(),cal.getTime().getDay()); String hour_str = String.format("%02x%02x%02x",cal.getTime().getHours(),cal.getTime().getMinutes(),cal.getTime().getSeconds()); String content = "#1:" + imei + ":1:*,"+ date_str.getBytes() +","+ hour_str.getBytes()+"#"; ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); buf.writeBytes(content.getBytes(Charset.defaultCharset())); channel.write(buf); 但是错了,正在回归: #1:359672050130411:1:*,[B@7f07ff6a,[B@d4dd3b6# 解决方法
Calendar.getTime()返回
Date.
Date.getYear()已被弃用,Date.getHours()和其他大多数也被弃用. 理想情况下,您应该使用Calendar.get(Calendar.YEAR)和Calendar.get(Calendar.HOUR_OF_DAY). 同样适用于月,日,分和秒. 获得整数值后,可以使用Integer.toHexString()将它们转换为十六进制(如果需要) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读