添加到目前为止的数字(H:mm:ss:SSS)格式

时间:2016-04-23 15:27:07

标签: java datetime

我想添加日期格式(H:mm:ss:SSS)。我做了以下事情 -

    Date time1;
    Date time2;
    String result1;
    SimpleDateFormat formatter;
    formatter = new SimpleDateFormat("H:mm:ss:SSS");
    time1 = new Date(0,0,0,0,0,5);
    time2=new Date(0,0,0,0,0,5);

time1的输出为0:00:05:000。现在我想添加这两个时间并制作0:00:10:000。但time1+time2是不可能的。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:3)

您可以根据您的要求使用日历:

    Calendar calendar = Calendar.getInstance();
    calendar.setTime(new Date());
    calendar.set(Calendar.HOUR_OF_DAY,0);
    calendar.set(Calendar.MINUTE,0);
    calendar.set(Calendar.SECOND,5);
    calendar.set(Calendar.MILLISECOND,0);

    System.out.println(formatter.format(calendar.getTime()));

    Calendar another = Calendar.getInstance();
    another.setTime(calendar.getTime());
    another.set(Calendar.HOUR_OF_DAY,0);
    another.set(Calendar.MINUTE,0);
    another.set(Calendar.SECOND,calendar.get(Calendar.SECOND)+5);
    another.set(Calendar.MILLISECOND,0);

    System.out.println(formatter.format(another.getTime()));

输出:

0:00:05:000
0:00:10:000

以下是Calendar

的Java文档

答案 1 :(得分:1)

new Date(time1.getTime() + time2.getTime())应该可以解决问题。

getTime()返回自1970年1月1日00:00:00 GMT以来的毫秒数 new Date(0, 0, 0, 0, 0, 0)等于1970年1月1日00:00:00 GMT。所以你基本上只有time1.getTime()time2.getTime()中5秒的毫秒数,所以你可以将它们相加并将其转换回Date对象。