计算两个日期之间的天数

SImpleDateFormat类

1.构造方法(其一)

SImpleDateFormat(String pattern )Constructs a new SimpleDateFormat using the specified non-localized pattern and the DateFormatSymbols and Calendar for the user’s default locale.

直接来看pattern可以传入什么值,不需要看英文

yyyy-MM-dd1970-01-01
yyyy-MM-dd HH:mm1970-01-01 00:00
yyyy-MM-dd HH:mmZ1969-12-31 16:00-0800
yyyy-MM-dd HH:mm:ss1969-12-31 16:00:00
yyyy-MM-dd HH:mm:ss.SSSZ1969-12-31 16:00:00.000-0800
yyyy-MM-dd’T’HH:mm:ss.SSSZ1969-12-31T16:00:00.000-0800

2.Parse()方法

返回Dateparse(String text)指定的字符串中解析一个日期

Date类

构造方法

Date()
Date(long milliseconds)
Date date = new Date();//默认是当前时间 Wed Jun 20 23:43:20 GMT+08:00 2018
Date date = new Date(System.currentTimeMillis());//Wed Jun 20 23:43:20 GMT+08:00 2018

getTime()方法

返回longgetTime()返回这个日期的毫秒值

话不多说上代码,有注释结果。

public class MainActivity extends AppCompatActivity {
    private static final String TAG = "MainActivity";

    @RequiresApi(api = Build.VERSION_CODES.N)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            Date date_start = df.parse("2018-02-01 00:00:00");//Thu Feb 01 00:00:00 GMT+08:00 2018
            Date date_end = df.parse("2018-02-05 00:00:00");//Mon Feb 05 00:00:00 GMT+08:00 2018

            //date_end.getTime()=1517760000000   date_start.getTime()=1517414400000
            long diff = date_end.getTime() - date_start.getTime();//相差微妙级

            //finial_days=4
            long finial_days = diff / (1000 * 24 * 60 * 60);//转成天

        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值