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

自时代以来的Java时间

柴修筠
2023-03-14
问题内容

在Java中,如何以以下格式打印自纪元以来的时间,以秒和纳秒为单位:

java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");

我的输入是:

long mnSeconds;
long mnNanoseconds;

两者的总和是自该纪元以来经过的时间1970-01-01 00:00:00.0


问题答案:

你可以这样做

public static String format(long mnSeconds, long mnNanoseconds) {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.");
    return sdf.format(new Date(mnSeconds*1000))
           + String.format("%09d", mnNanoseconds);
}

例如

2012-08-08 19:52:21.123456789

如果您真的不需要超过几毫秒的时间,您可以做

public static String format(long mnSeconds, long mnNanoseconds) {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
    return sdf.format(new Date(mnSeconds*1000 + mnNanoseconds/1000000));
}


 类似资料:
  • 我使用的是MySQL5.0。我需要在一个列中存储日期-时间信息。我的意思是使用或列类型。但我对夏冬转换有意见。 当我将这些行取到java Date对象中时,我得到两个相同的日期,显示CET 2:00。而且,当我在MySQL中获取这些行时,我在MySQL中再次得到错误的值: 所以时间戳在我看来没什么用。

  • 问题内容: 有没有办法找出自JVM启动以来的时间? 当然,除了在的开始位置附近启动计时器外,因为在我的场景中,我正在编写库代码,并且要求在启动后立即调用某些东西的负担太重。 问题答案: 使用以下代码段: 要么: 这是检索JVM运行时间的 正确 方法。 有关更多信息,请参见http://java.sun.com/j2se/1.5.0/docs/api/java/lang/management/Run

  • 我有一个java应用程序,我希望时间以UTC为单位。目前,该代码混合使用了和。为了获得UTC时间,我之前的程序员使用: 截止日期: 对于时间戳: 然而,我自己用这段代码运行了多个测试,这两行都返回当前日期/时间(在我当前的时区)。从我读到的所有信息来看,日期/时间戳似乎没有区域偏移值,但我找不到具体的说明。 无论如何,是否有将timeZone(UTC)保留在Date或Timestamp对象中,或者

  • 由于std::sort的时间复杂度为nlog(n),我们有(N1+N2....Nk)次迭代,因此我假设总的时间复杂度为O((N1+N2....+Nk)klog(k))。但是在每次迭代中,vector的大小可能会有所不同,所以我有点困惑。有人能证实这一点吗? 2.我还在leetcode论坛上看到了另一个使用“合并排序”思想的解决方案。它每次都合并两个链表。 我想知道这个解决方案的时间复杂度是多少?因

  • 问题内容: 我需要在Mysql中进行日期比较而不考虑时间成分,即我需要将“ 2008-11-05 14:30:00”转换为“ 2008-11-05” 目前我正在这样做: 有适当的方法吗? 问题答案: 是的,使用日期功能:

  • 我必须使用一个现有的方法,如其中有一个。 我的问题是,我正在检索一个字节[],我想用这个方法保存它。我怎样才能有一个仅用于保存的“本地”文件? 对不起,如果我的问题是愚蠢的,我不知道很多关于文件在Java。