我目前正在提取时间和日期:
DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
Date date = new Date();
System.out.println(dateFormat.format(date));
这将返回示例' 05/14/2014 01:10:00'
现在我正在努力做到这一点,所以我可以增加一个小时,而不必担心新的一天或一个月等。
我将如何获得' 05/14/2014 01:10:00'但后来以相同的格式持续了10个小时?
提前致谢。
答案 0 :(得分:7)
查看Calendar对象: Calendar
Calendar cal = Calendar.getInstance();
cal.add(Calendar.HOUR_OF_DAY, 10);
DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
System.out.println(dateFormat.format(cal.getTime()));
答案 1 :(得分:2)
正如其他人所提到的,Calendar类就是为此而设计的。
从Java 8开始,您也可以这样做:
DateTimeFormatter dateFormat =
DateTimeFormatter.ofPattern("MM/dd/yyyy HH:mm:ss");
LocalDateTime date = LocalDateTime.now();
System.out.println(dateFormat.format(date));
System.out.println(dateFormat.format(date.plusHours(10)));
java.time.format.DateTimeFormatter
使用了许多与java.text.SimpleDateFormat
相同的模式字母,但它们并不完全相同。有关详细信息,请参阅DateTimeFormatter javadoc。
答案 2 :(得分:0)
DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
Date date = new Date();
System.out.println(dateFormat.format(date));
/*
* Add x hours to the time
*/
int x = 10;
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.HOUR, x);
System.out.println(dateFormat.format(calendar.getTime()));
控制台输出:
05/08/2014 20:34:18
05/09/2014 06:34:18
答案 3 :(得分:0)
DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
Date currentDate = new Date();
final long reqHoursInMillis = 1 * 60 * 60 * 1000; // change 1 with required hour
Date newDate = new Date(currentDate.getTime() + reqHoursInMillis);
System.out.println(dateFormat.format(newDate));
这将以给定的日期格式在当前时间添加1小时。希望它有所帮助。