指定两个字符串日期相差的天数

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; //返回计算结果
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值