import java.text.DateFormat;
import java.text.ParseException;
import java.util.Date;
public class DaysTest {
/*
* 计算 2016-08-1至2016-08-27 相差的天数
* 已知能运算的时间单位的是毫秒
* 首先将字符串日期转成毫秒进行运算在变成天数
*
*
* */
final static String DAY="天";
final static String TO="到";
final static String GAP="相差";
public static void main(String[] args) throws ParseException {
String str_01="2016-08-1";
String str_02="2016-08-27";
timeToComputation(str_01,str_02);
}
public static void timeToComputation(String str_01, String str_02) throws ParseException {
DateFormat date =DateFormat.getDateInstance();//通过静态工厂方法获取日期实例
//此方法和上面一个方法择其一即可 ,SimpleDateFormat是自定义风格;
//如果要用下面一种格式请手动导入import java.text.SimpleDateFormat;包
//DateFormat date=new SimpleDateFormat("yyy-MM-dd");
Date date1= date.parse(str_01); //解析给定字符串文本开始产生日期,该方法不使用整个给定字符串的文本。
Date date2=date.parse(str_02);//如果指定字符串的开头无法分析。将会抛出一个ParseExcepion异常
long temp1=date1.getTime(); //获取字符串的文本 换算毫秒数;
long temp2=date2.getTime();
long temp=Math.abs(temp1-temp2);//两个解析的字符文本转成毫秒值以后进行运算。将得到的毫秒数进行取反得到一个整数;
long day=getDay(temp); //将运算的结果进行进一步的再次运算
System.out.println(str_01+TO+str_02+GAP+day+DAY);
}
private static long getDay(long temp) {
//得到秒(temp/1000) 得到 分钟(temp/1000/60) 得到小时(temp/1000/60/60) 得到天数(temp/1000/60/60/24);
long dayresults= temp/1000/60/60/24;
return dayresults; //返回计算结果
}
}
指定两个字符串日期相差的天数
最新推荐文章于 2023-11-16 14:00:00 发布