Java 在比较当前日期和前一日期时,如何检查以分钟为单位的差异
我有一个这样的日期:Java 在比较当前日期和前一日期时,如何检查以分钟为单位的差异,java,Java,我有一个这样的日期: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 datet
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));
}
}
你能告诉我怎么解决这个问题吗。提前感谢。一个简单的解决方案是使用
Date.getTime()
方法(返回“自1970年1月1日起的毫秒”),获得这些值的差值,然后将该值除以1000*60(每秒1000毫秒,每分钟60秒)。为什么这么复杂?只需使用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
double minutes=(date.getTime()-d1.getTime())/(1000*60);
您可以按如下方式使用
在Java中,以毫秒为单位返回时间
将以下内容添加到代码中
long minutesDiff = (date.getTime() - d1.getTime()) / 1000 / 60; //convert to minutes
System.out.println("Difference in minutes : " + minutesDiff);
看看这个直播
这是完整的代码
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);
}
}
可能的dup:这将解决您的问题:
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);
}
}