此处用户将选择活动日期...我知道一些建议可用于基于日历的日期(当前日期)....但我的问题不同,因为我的活动日期将由用户选择... 。我想调整活动日期的提醒日期(特定日期不是当前日期)...在我的代码中我需要从活动日期调整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);
答案 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();