我有这种格式的约会:2015-07-29 16:29:32
如何检查当前日期与指定日期之间的分钟差异?
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test {
public static void main(String[] args) throws ParseException {
String datetocomparestr = "2015-07-29 16:29:32";
SimpleDateFormat datetocomparesdf = new SimpleDateFormat("yy-MM-dd HH:mm:ss");
Date d1 = null;
d1 = datetocomparesdf.parse(datetocomparestr);
System.out.println(d1);
SimpleDateFormat dateFormatcurrentsdf = new SimpleDateFormat("yy-MM-dd HH:mm:ss");
Date date = new Date();
System.out.println(dateFormatcurrentsdf.format(date));
}
}
能告诉我如何解决这个问题。提前谢谢。
答案 0 :(得分:2)
一个简单的解决方案是使用Date.getTime()
方法(返回“自1.1.1970 以来的毫秒”),获取这些值的差异并将该值除以1000 * 60(每秒1000毫秒,每分钟60秒)。
答案 1 :(得分:1)
为什么这么复杂?只需使用java的long
表示来确定时间:
long timeToComp = parseSomeTime().getTime();
long timeCurrent = System.currentTimeMillis();
long dif = timeCurrent - timeToComp;
long mins = dif / (1000 * 60);//dif is the number of milliseconds between the current date and the parsed one
答案 2 :(得分:1)
您可以使用localdatetime,如下所示
LocalDateTime d1=new LocalDateTime(date1);
LocalDateTime d2=new LocalDateTime(now);
int minutesDiff=Minutes.minutesBetween(d1, d2).getMinutes();
答案 3 :(得分:0)
double minutes = (date.getTime() - d1.getTime()) / (1000 * 60);
答案 4 :(得分:0)
Date#getTime()
以毫秒为单位返回时间。
将以下内容添加到您的代码中。
long minutesDiff = (date.getTime() - d1.getTime()) / 1000 / 60; //convert to minutes
System.out.println("Difference in minutes : " + minutesDiff);
查看此实时demo。
这是完整的代码。
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test {
public static void main(String[] args) throws ParseException {
String datetocomparestr = "2015-07-29 16:29:32";
SimpleDateFormat datetocomparesdf = new SimpleDateFormat("yy-MM-dd HH:mm:ss");
Date d1 = null;
d1 = datetocomparesdf.parse(datetocomparestr);
System.out.println(d1);
SimpleDateFormat dateFormatcurrentsdf = new SimpleDateFormat("yy-MM-dd HH:mm:ss");
Date date = new Date();
System.out.println(dateFormatcurrentsdf.format(date));
long minutesDiff = (date.getTime() - d1.getTime()) / 1000 / 60;
System.out.println("Difference in minutes : " + minutesDiff);
}
}