gpt4 book ai didi

java - 获取当前时间和日期,采用 16 位十六进制(16 个字符)

转载 作者:行者123 更新时间:2023-12-01 16:43:05 25 4
gpt4 key购买 nike

我目前正在使用

Calendar.getInstance().getTimeInMillis()/1000

以秒为单位获取日历中今天时间的结果。我需要将结果输出为如下所示:

0000000ED76420A5

大端或小端并不重要,但我没有足够的知识来转换它,我的 friend 告诉我这与纪元时间有关,但我不确定为什么我不明白我转换时的正确日期时间。

我使用的偏移量为:62168515200,但我也不明白这些意味着什么。

我将不胜感激任何帮助或资源..谢谢。

编辑:我正在在线使用纪元时间转换器(截至目前为1574669899),但是有了这个数字,我如何在Java中获取日期时间?如果我能够在 Java 中获得正确的日期时间,我也许能够进行转换,对吗?

最佳答案

如果您有 Java 8,请使用 java.timeLong 的一些 static 方法,以获得纪元毫秒内的瞬间,将其转换为十六进制表示形式,然后反之亦然。最后,以下示例展示了如何创建日期时间并打印它:

public static void main(String[] args) {
// take the instant in epoch milliseconds
long millis = Instant.now().toEpochMilli();
// print them once
System.out.println("millis:\t\t\t" + millis);
// convert them to a hexadecimal representation
String hexMillis = Long.toHexString(millis);
// print them
System.out.println("Hex-Millis:\t\t" + hexMillis);
// convert the millis back, THIS NEEDS A LEADING 0x
long convertedMillis = Long.decode("0x" + hexMillis);
// print the value and see that it's the same as above
System.out.println("Converted millis:\t" + convertedMillis);
// create an Instant from the converted millis
Instant instant = Instant.ofEpochMilli(convertedMillis);
// create a LocalDateTime from the Instant using the system default time zone
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
// print the date-time formatted
System.out.println("LocalDateTime:\t\t"
+ localDateTime.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
}

在我的系统上,此输出

Hex-Millis:         16ea1bbd03c
Converted millis: 1574671470652
LocalDateTime: 2019-11-25T09:44:30.652

关于java - 获取当前时间和日期,采用 16 位十六进制(16 个字符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59027547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com