java中将String转化为date,并进行比较

运用场景:获取时间String,将其在日历中显示出来,提交时判断开始日期和结算日期,结束日期不能早于开始日期。

  /**
     * 将yyyy-MM-dd string转化为date
     *
     * @param st
     * @return
     */
    public Date dateFromString(String st) {
        Date date = null;
        // 设置传入的时间格式
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        try {
            date = dateFormat.parse(st);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
    }

    /**
     * 根据类型设置对应的textview
     *
     * @param type
     */
    public void initData(final String type) {
        Date date = null;
        Calendar calendar = Calendar.getInstance();
        if (type.equals("start")) {
            date = dateFromString(tvStartDate.getText().toString());
        } else {
            date = dateFromString(tvEndDate.getText().toString());
        }
        calendar.setTime(date);
        year = calendar.get(Calendar.YEAR);
        month = calendar.get(Calendar.MONTH);
        day = calendar.get(Calendar.DAY_OF_MONTH);
        DatePickerDialog datePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker datePicker, int mYear, int mMonth, int mDay) {
                String s = getDate(mYear, mMonth, mDay);
                if (type.equals("start")) {
                    SearchOrderActivity.this.tvStartDate.setText(s);
                    orderSearchBean.setSdate(s);
                } else {
                    SearchOrderActivity.this.tvEndDate.setText(s);
                    orderSearchBean.setEdate(s);
                }
            }
        }, year, month, day);
        datePickerDialog.show();


    }
    /**
     * 判断时间是否正确
     * @param sDate
     * @param eDate
     * @return
     */
    private boolean dateIsRight(String sDate, String eDate) {
        Date startDate = dateFromString(sDate);
        Date endDate = dateFromString(eDate);
        if (endDate.before(startDate)) {
            return false;
        } else {
            return true;
        }
    }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值