【问题标题】:How to convert time string value in date format如何将时间字符串值转换为日期格式
【发布时间】:2018-03-13 03:30:03
【问题描述】:

我面临的问题是,我有一个数据表,其中有一个字符串值,如 123459,这是一个时间,我还有另一列,我在其中添加值加上 5 秒。 当我添加值时,它的添加为 123464 而不是 123504。 谁能帮我解决这个问题?

【问题讨论】:

  • 我没有投反对票。如果您想知道否决票和关闭投票,我怀疑它们是因为您没有表现出任何搜索和研究工作,也没有尝试自己解决您的问题。你应该这样做。它通常为我们提供了一个更好的起点来帮助您,所以这对您自己有利。

标签: java date time seconds datetime-parsing


【解决方案1】:

使用 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

【讨论】:

    【解决方案2】:

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

    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();
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-26
    • 1970-01-01
    • 1970-01-01
    • 2014-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多