【问题标题】:How can I directly convert the difference between two time in milliseconds to a hh:mm:ss format?如何直接将两个时间之间的差异(以毫秒为单位)转换为 hh:mm:ss 格式?
【发布时间】:2013-05-27 00:33:28
【问题描述】:

我想直接(不使用多行代码进行计算)从两毫秒时间之间的差异转换为以 hh:mm:ss 格式编写的相同值。 有什么办法吗,还是我必须继续计算/使用日期或日历类?

【问题讨论】:

标签: java date


【解决方案1】:

您似乎不想使用日历/日期对象。不知道为什么,但在这种情况下,您可以使用以下简单的方法:

int diff = (time2-time1)/1000

int numHrs = diff/60

diff = diff%60

int numMins = diff/60

int numSecs = diff%60

获取小时数、分钟数和秒数。

【讨论】:

  • 你在最后一行遗漏了%
  • 你键盘上的分号键坏了吗?
  • 我也从不想使用 JDK 日历/日期,所以我同意 OP,但我也不想重新发明 Joda。 :)
【解决方案2】:

最好这样使用日历功能:

Calendar c = Calendar.getInstance(); 
int hour = c.get(Calendar.HOUR);

但是您使用常量 MILISECOND here 搜索的内容。 试试这个。 Calendar 类可以使用很多常量。

【讨论】:

    【解决方案3】:

    试试这个:

    String hhmmss = SimpleDateFormat("hh:MM:ss").format(new Date(date1.getTime() - date2.getTime()));
    

    【讨论】:

      【解决方案4】:

      使用joda,无论如何你都应该这样做:

      String timeDiff = DateTimeFormat.forPattern("hh:MM:ss").print(new DateTime(differenceOfDatesInMillis));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-17
        • 1970-01-01
        • 1970-01-01
        • 2012-02-10
        • 2012-07-22
        • 1970-01-01
        • 1970-01-01
        • 2012-02-20
        相关资源
        最近更新 更多