【问题标题】:Date substraction between String format and current time in JavaJava中字符串格式和当前时间之间的日期减法
【发布时间】:2015-03-12 18:13:40
【问题描述】:

我想知道如何实现以下场景。我有一个字符串格式的日期(“mm/dd/yy HH:MM”):

String createdDate="01/14/15 08:11"

我需要从createdDate 获取经过的时间。如果经过的时间大于 4 小时,我必须执行一些操作,否则我必须执行其他操作。

简而言之,我需要以小时和分钟为单位获取创建的日期和当前日期/时间的差异。

【问题讨论】:

标签: java jsp jakarta-ee


【解决方案1】:

首先,M - in date 格式代表月份,m - 分钟

【讨论】:

    【解决方案2】:
    final long millisInHour = 3600000; //Number of milliseconds in an hour
    final SimpleDateFormat format = new SimpleDateFormat("MM/dd/yy HH:mm"); //Format to parse
    final String createdDate = "01/14/15 08:11"; //The date to calculate elapsed time from
    
    final long parsedMillis = format.parse(createdDate).getTime(); //Parse string and get the time in millis
    final long currentMillis = System.currentTimeMillis(); //Get the current time in millis
    final long millisElapsed = parsedMillis - currentMillis; //Calculate elapsed millis
    
    long hoursElapsed = millisElapsed / millisInHour; //Calculate the hours elapsed
    

    【讨论】:

      【解决方案3】:
        String format = ("mm/dd/yy HH:MM");
        String createdDate = "01/14/15 08:11";
      
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format);
        LocalDateTime dateTime = LocalDateTime.parse(createdDate, formatter);
      
        Duration duration = Duration.ofHours(4);
      

      如果您想使用 Java 8,这是一个答案的开始。

      请参阅http://www.oracle.com/technetwork/articles/java/jf14-date-time-2125367.html 以关闭此问题

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-02-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多