【问题标题】:How to convert datetime to hex code in java?如何在java中将日期时间转换为十六进制代码?
【发布时间】:2013-11-18 06:36:50
【问题描述】:

我需要将日期时间转换为十六进制代码并将其存储在字节array.length 十六进制代码应该是 17 或 18,因为我需要将其存储在 [9] 的字节数组。

以下是我正在寻找的格式。

EXAMPLE: Thursday 17:35:20 December 15, 2005 is encoded as
07D50C0F112314FFFF.

提前致谢。

【问题讨论】:

  • 向我们展示尝试过的代码
  • 我没有任何问题。实际上我尝试了不同的。方法,但长度超出了我的需要。我尝试将日期转换为字符串,然后将字符串转换为十六进制,但是当我将其十六进制转换为日期时出现问题。
  • 为什么不使用:date => unix timestamp => hex?
  • @RC 你能分享相同的代码吗?

标签: java


【解决方案1】:

使用:日期 => unix 时间戳 => 十六进制:

import java.util.Calendar;
import java.util.Date;

public class Dates {
    public static void main(final String[] args)
    {
        final Calendar cal = Calendar.getInstance();
        cal.set(Calendar.DATE, 15);
        cal.set(Calendar.MONTH, Calendar.DECEMBER);
        cal.set(Calendar.YEAR, 2005);
        cal.set(Calendar.HOUR, 17);
        cal.set(Calendar.MINUTE, 35);
        cal.set(Calendar.SECOND, 20);
        final Date date = cal.getTime();

        System.out.printf("Date %s is encoded as: %s\n", date, Long.toHexString(date.getTime()));
        // decode with: new Date(Long.parseLong("1082f469308", 16))
    }
}

输出:

Date Thu Dec 15 17:35:20 CET 2005 编码为:1082f469308

【讨论】:

  • 我们是否应该给那些甚至不尝试自己尝试的人提供代码
  • hello RC 感谢代码,它工作正常,但长度为 11 的十六进制字符串。我需要 17 或 18。
  • @javaBeginner U 好像我的班主任。相信我,先生,我自己试过然后问问题。不过你很好。无论如何,感谢您在此线程中引起您的注意而不是帮助我。
  • @Rahul 我只是在关注 如何提问 stackoverflow.com/questions/how-to-ask 。请阅读此内容,如果我之前的评论有误,请告诉我
  • @javaBeginner 没有难过的感觉。但我很着急。所以要求代码。下次将尝试遵循手册。抱歉,谢谢。
猜你喜欢
  • 2022-09-29
  • 2017-12-21
  • 2014-01-15
  • 2019-01-01
  • 2011-07-09
  • 2015-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多