如何从活动日期中减去日期

时间:2015-09-22 06:36:39

标签: android date android-activity

此处用户将选择活动日期...我知道一些建议可用于基于日历的日期(当前日期)....但我的问题不同,因为我的活动日期将由用户选择... 。我想调整活动日期的提醒日期(特定日期不是当前日期)...在我的代码中我需要从活动日期调整7天(减去7天)...我不知道该怎么做那...请帮我找出代码

checkBox_aWeekBefore.setOnClickListener(new View.OnClickListener() {

                public void onClick(View v) {
                    if (((CheckBox) v).isChecked()) {
                        final int response = 3;
                        reminterDate=eventMO.getEventDate();
    //here i need to adjust eventDate and i need to adjust 7 days from EventDate and set that to reminder
                        List<EventReminderDaysMO> eventReminderDaysMOs = new ArrayList<>();

                        EventReminderDaysMO eventReminderDaysMO = new EventReminderDaysMO();
                        eventReminderDaysMO.setTypeId(3);
                        eventReminderDaysMO.setIsSelected(1);
                        eventReminderDaysMO.seteventReminderDate
                           (reminderdate);

                        eventReminderDaysMOs.add(eventReminderDaysMO);
                  eventMO.setEventReminderDaysMOs(eventReminderDaysMOs);

                        Toast.makeText(OccasionActivity.this,
                                "Checked", Toast.LENGTH_LONG).show();
                    }
                }
            });

这是我的日期格式

DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy"); // Here use what format you use.
                       Date date1 = dateFormat.parse(eventDate);
                       DateFormat convertDate = new SimpleDateFormat(" yyyy-MM-dd hh:mm:ss");
                       eventDate = convertDate.format(date1);
                       eventMO.setEventDate(eventDate);

3 个答案:

答案 0 :(得分:1)

使用:

String date = "22-10-2015";
SimpleDateFormat format = new SimpleDateFormat("dd-mm-yyyy");
try {
        Date d = format.parse(date);
        Date dateBefore = new Date(d.getTime() - 7 * 24 * 3600 * 1000l ); 
        System.out.print(format.format(dateBefore)); // print 15-10-2015
    }
    catch(ParseException pe) { 

    }

将日期"22-10-2015"替换为您的活动日期(根据您的日期格式),将SimpleDateFormat的格式更改为您现有日期的格式。 7代表7天,将其更改为您想要的任何内容。

答案 1 :(得分:1)

试试这个:

// If reminterDate is a string

DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy"); // Here use what format you use.
Date date1 = dateFormat.parse(reminterDate);;
Calendar calendar = Calendar.getInstance(); 
calendar.setTime(date1 );
calendar.add(Calendar.DAY_OF_MONTH, -7);
date1 = calendar.getTime();

reminterDate = dateFormat.format(date1);


//Change this format
DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
Date date1 = dateFormat.parse(eventDate);

eventDate = dateFormat.format(date1);
eventMO.setEventDate(eventDate);

答案 2 :(得分:0)

试试这个,

Calendar cal = Calendar.getInstance();//here is your selected event date ok.
cal.setTime(dateInstance);
cal.add(Calendar.DATE, -7);
Date dateBefore30Days = cal.getTime();