如何转换日期格式的时间字符串值

时间:2018-03-13 03:30:03

标签: java date time seconds datetime-parsing

我面临的问题就像我有一个数据表有一个字符串值,如123459这是一个时间,我有另一列,我添加的值为加5秒。 当我添加值时,添加为123464而不是123504。 有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

使用Java 8及更高版本中内置的java.time类。见Oracle Tutorial

具体来说,是LocalTimeDateTimeFormatter类。

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HHmmss");
LocalTime localTime = LocalTime.parse("123459", formatter);

LocalTime timeIn5Seconds = localTime.plusSeconds(5);
System.out.println(timeIn5Seconds.format(formatter));

输出

123504

答案 1 :(得分:0)

将字符串转换为日期格式...

DateFormat formatter = new SimpleDateFormat("hh:mm:ss a");

Date date = (Date)formatter.parse(str);

添加5秒

Calendar cal = Calendar.getInstance(); // creates calendar
cal.setTime(date); // sets calendar time/date according to the OBJECT

cal.add(Calendar.SECOND, 5); // adds 5 SECONDS
cal.getTime();