gpt4 book ai didi

java - 将毫秒格式化为 simpledateformat

转载 作者:搜寻专家 更新时间:2023-10-31 20:15:32 24 4
gpt4 key购买 nike

将毫秒格式化为 SimpleDate 格式时,我遇到了一个奇怪的结果:

输出是:

    Start date time: 11/06/30 09:45:48:970
End date time: 11/06/30 09:45:52:831
Execution time: 01:00:03:861

脚本:

    long dateTimeStart = System.currentTimeMillis();    
// some script execution here
long dateTimeEnd = System.currentTimeMillis();

"Start date time: " + GlobalUtilities.getDate(dateTimeStart, "yy/MM/dd hh:mm:ss:SSS");
"End date time: " + GlobalUtilities.getDate(dateTimeEnd, "yy/MM/dd hh:mm:ss:SSS");
"Execution time: " + GlobalUtilities.getDate((dateTimeEnd - dateTimeStart), "hh:mm:ss:SSS");

方法:

    public static String getDate(long milliseconds, String format)
{
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(milliseconds);
}

知道为什么执行时间值这么低吗?应该是00:00:03:861,不是01:00:03:861

谢谢

最佳答案

因为你把时差换成了日期。详细来说,这正是它所发生的:

  1. SimpleDateFormat.format(long milliseconds) 计算日期:Unix 出生时间 + 毫秒。
  2. 这个时间也根据与 GMT 的时差进行了调整。
  3. 根据这两个信息,您会得到奇怪的结果。要验证上述信息,您可以在日期中添加日、月和年。

不幸的是,您可以通过手动转换时间来修复它。

关于java - 将毫秒格式化为 simpledateformat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6540380/

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