在java.util.Date中添加时间部分的最佳方法是什么

时间:2017-09-14 13:16:26

标签: java

我想将当前时间戳添加到java.util.Date,这里我尝试使用下面的代码这是正确的方法吗?或者我们还有其他方法可以达到这个目的吗?,在util date中添加时间部分的最佳方法是什么。

public class Test {

  /**
   * @param args
   * @throws ParseException
   */
  public static void main(final String[] args) throws ParseException {

    final StringBuilder builder = new StringBuilder();
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    final Date date = format.parse("2017-09-14"); //This One I will get from DB

    builder.append(format.format(date));
    format = new SimpleDateFormat("'T'HH:mm:ss");
    builder.append(format.format(new Date())); //Appending Time portion
    System.out.println("builder-->" + builder);
    format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
    //Finally Converted to String format
    System.out.println(format.format(format.parse(builder.toString())));
  }
}

1 个答案:

答案 0 :(得分:1)

我建议使用java.util.Calendar对象添加所需的时间

Calendar dateCal = Calendar.getInstance();
dateCal.setTime(date);

Calendar currentCal = Calendar.getInstance();
currentCal.setTimeInMillis(System.currentTimeMillis()); 

dateCal.set(Calendar.HOUR, currentCal.get(Calendar.HOUR));
dateCal.set(Calendar.MINUTE, currentCal.get(Calendar.MINUTE));

然后你可以用你想要的任何格式打印好的DateFormat