减去两个日期即为“错误”;运算符-对于参数类型java.util.Date、java.util.Date";未定义;
在下面的代码中减去两个日期即为“错误”;运算符-对于参数类型java.util.Date、java.util.Date";未定义;,java,date,Java,Date,在下面的代码中 在从日期中减去日期时,如果出现此错误,则运算符-对于参数类型java.util.date、java.util.date未定义“ 变量currentDate是一个字符串;为什么我不能像这样将它保存在Date变量中Date currentDate=ddmmyy.format(new Date()),是否.format函数返回String public class AgeCalculator { public static SimpleDateFormat ddmmyy=new
字符串
;为什么我不能像这样将它保存在Date
变量中Date currentDate=ddmmyy.format(new Date())
,是否.format
函数返回String
public class AgeCalculator {
public static SimpleDateFormat ddmmyy=new SimpleDateFormat("dd/mm/yyyy");
public static void main(String[] args) throws Exception {
String dob = "05/01/1993";
Date mod_date = ddmmyy.parse(dob);
String currentDate = ddmmyy.format(new Date());
Date mod_currentDate = ddmmyy.parse(currentDate);
int days = mod_currentDate-mod_date;
}
}
第一次将
dd/mm/yyyyy
更改为dd/mm/yyyy
为mm
-小时分钟和mm
-年月份
SimpleDateFormat ddmmyy=new SimpleDateFormat("dd/MM/yyyy");
String dob = "21/07/2014";
Date mod_date = ddmmyy.parse(dob);
String currentDate = ddmmyy.format(new Date());
Date mod_currentDate = ddmmyy.parse(currentDate);
它将以毫秒为单位显示它们之间的差异,其类型为long
long differenceInMillis = mod_currentDate.getTime()-mod_date.getTime();
fnaly从毫秒中获取天数
int days = (int) (differenceInMillis / (1000*60*60*24));
System.out.println(days);
也看看这里,您的mod_currentDate返回1月22日而不是7月22日,因为您使用mm而不是mm
public class AgeCalculator {
public static SimpleDateFormat ddmmyy=new SimpleDateFormat("dd/MM/yyyy");
public static void main(String[] args) throws Exception {
String dob = "05/01/1993";
Date mod_date = ddmmyy.parse(dob);
Date currentDate = new Date();
int days = daysBetween(mod_date,currentDate);
System.out.println("Get the amount of days between " + mod_date + " and " + currentDate);
System.out.println("Days= "+ days);
}
public static int daysBetween(Date d1, Date d2){
return (int)( (d2.getTime() - d1.getTime()) / (1000 * 60 * 60 * 24));
}
}
输出为:
Get the amount of days between Tue Jan 05 00:00:00 CET 1993 and Tue Jul 22 16:19:02 CEST 2014
Days= 7868
看,我应该看什么,这并没有回答我的问题。。。