我想知道如何实现以下方案。我有一个String格式的日期(" mm / dd / yy HH:MM"):
String createdDate="01/14/15 08:11"
我需要从createdDate
获得时间。如果经过的时间超过4小时,我必须执行一些操作,如果不是,我必须执行其他操作。
简而言之,我需要在小时和分钟中获得创建日期和当前日期/时间的差异。
答案 0 :(得分:1)
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以了解此问题
答案 1 :(得分:0)
首先,M - 日期格式代表月份,m - 分钟
答案 2 :(得分:0)
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