计算:
2012-3-17"到"2012-4-6"中间有多少天?
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateDemos2 {
// 练习:
// "2012-3-17"到"2012-4-6"中间有多少天?
/**写作思路
1. 将日期格式的字符串转成Date对象。
2. 将Date对象转成毫秒值。
3. 相减,编程天数。
* @throws Exception */
public static void main(String[] args) throws Exception
{
// TODO Auto-generated method stub
String s1 = "2012-3-17" ;
String s2 = "2012-4-6" ;
//调用自定义方
dateToDemos(s1,s2);
}
private static void dateToDemos(String s1, String s2) throws Exception {
// 将字符串中的日期转换成Date格式
DateFormat df = DateFormat.getDateInstance();
//格式式日期对象
df = new SimpleDateFormat("yyyy-MM-dd");
//将字符串中的日期转换成Date对象中的日期
Date date1 = df.parse(s1);
Date date2 = df.parse(s2);
//获取对应日期对应的时间毫秒值
long time1 = date1.getTime();
long time2 = date2.getTime();
long times = Math.abs(time2-time1);
System.out.println(times);
int day = getDay(times);
System.out.println(s1+" 与 "+s2+" 相差:"+day+" 天");
}
private static int getDay(long times) {
// TODO Auto-generated method stub
return (int)(times/1000/60/60/24);
}
}
运行程序得: