我正在使用Java代码来查找日差。在两个日期之间,让我们说“ 12/27/16”和“ 01/01/17”
代码是:
SimpleDateFormat format = new SimpleDateFormat("mm/dd/yy");
Date d1= format.parse("12/27/16");
Date d2=format.parse("01/01/17");
long diff = d1.getTime()-d2.getTime();
long diffDays= diff / (24*60*60*1000);
但是当我打印diffDays时,我得到352天而不是6天
如果您打印d1
,则会看到:
Wed Jan 27 00:12:00 CET 2016
绝对不是您输入的内容。原因是格式字符串错误:m
表示分钟,而不是月份。正确的格式是"M/d/y"
。
而且,正如@nbokmans已经指出的那样,它d1 - d2
是向后的,应该是d2 - d1
。
另请参阅的文档SimpleDateFormat
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句