当前位置: 首页 > 面试题库 >

Java将19位Unix时间戳转换为可读日期

史懿轩
2023-03-14
问题内容

我正在尝试将19位Unix时间戳(例如,1558439504711000000一个五分之五)转换为可读的日期/时间格式。我的时间戳以6个零结尾,这表明时间以纳秒为单位。

我遇到了一些例子,其中人们使用了我不需要的时区。另一个示例使用ofEpochSecond像这样:

Instant instant = Instant.ofEpochSecond(seconds, nanos);

但是我不确定是否需要使用EpochSecond。

下面的代码提供了我最新的实现方法:

String timeStamp = "1558439504711000000";
long unixNanoSeconds = Long.parseLong(timeStamp);
Date date = new java.util.Date(timeStamp*1000L); 
// My preferred date format
SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd-MM-yyyy HH:mm:ss");                    
String formattedDate = sdf.format(date);
System.out.println("The timestamp in your preferred format is: " +  formattedDate);

但是我得到的输出是这样的:

// The timestamp in your preferred format is: 11-12-49386951 11:43:20

它不以例如2019格式显示年份格式。


问题答案:

试试这个

Date date = new java.util.Date(timeStamp/1000000);

而不是乘以 1000 ,除以 1000000



 类似资料:
  • 我正在尝试将19位Unix时间戳(如(15亿分之一)转换为可读的日期/时间格式。我的时间戳以6个零结束,这表明时间以纳秒为单位。 我遇到过一些例子,人们使用了我不需要的时区。另一个例子是这样使用ofEpochSecond: 但是我不确定我是否需要使用ofEpoch秒钟。 下面的代码给出了我实现这一目标的最新方法: 但是我得到的输出是这样的: 它没有以例如2019格式显示年份格式。

  • 问题内容: 我有一个表示Python中的unix时间戳(即)的字符串,我想将其转换为可读的日期。使用时,我得到: 问题答案: 使用模块:

  • 问题内容: 如何在Java中将分钟从Unix时间戳转换为日期和时间。例如,时间戳1372339860对应于。 我想转换成。 编辑:其实我希望它是根据美国时间GMT-4,所以它将是。 问题答案: 你可以使用SimlpeDateFormat来格式化日期,如下所示: 如果使用的模式SimpleDateFormat非常灵活,则可以根据给定的特定模式,在javadocs中检入可用于产生不同格式的所有变体Da

  • 问题内容: 是否存在可用于将Unix时间戳转换为人类可读日期的MySQL函数?我有一个字段可以保存Unix时间,现在我想为人类可读的日期添加另一个字段。 问题答案: 用途: 另请参阅:的 MySQL文档。

  • 问题内容: 是否有32位系统的64位Unix时间戳转换的C ++实现?我需要转换为64位整数,反之亦然,包括leap年,时区和UTC。还需要它可移植,至少对于GNU / Linux和Windows而言。 问题答案: 你需要: 最初(2011年),此答案包含指向2038bug.com的链接,可以在其中下载包含上述功能的小型库。那时,该库已从2038bug.com中删除,链接断开并由主持人从答案中删除

  • 如何在Java中将分钟数从Unix时间戳转换为日期和时间?例如,时间戳对应于 。 我想将< code>1372339860转换为< code > 2013-06-27 13:31:00 GMT 。 编辑:实际上我希望它根据美国时间GMT-4,所以它将是。