最近项目中出现一个需求,当前日期的前后N天选择 ,获取日期
import java.text.DateFormat; import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Collections; import java.util.Date; import java.util.List;
-----------------------------------------------------------------------------------
String afterTime; String fetureTime; List<String> listDatefan;
在viewCreate这个方法里面写下面这段代码
DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); afterTime = df.format(new Date().getTime() - 15 * 24 * 60 * 60 * 1000);//之前15天, fetureTime = df.format(new Date().getTime() + 15 * 24 * 60 * 60 * 1000);//未来15天 String nowTime = df.format(new Date());//当前时间 handleCirculationDate(fetureTime, afterTime); binding.tvTime.setSelected(true); listDatefan = new ArrayList<>(); //反序 Collections.reverse(listDate); for (String n : listDate) { listDatefan.add(n); }
List<String> listDate; public List<String> handleCirculationDate(String fetureTime, String afterTime) { listDate = new ArrayList<>(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");//日期格式 try { Date startDate = dateFormat.parse(afterTime);//之前 Date endDate = dateFormat.parse(fetureTime);//未来 Calendar calendar = Calendar.getInstance(); calendar.setTime(startDate);//之前的 while (calendar.getTime().before(endDate)) { listDate.add(dateFormat.format(calendar.getTime())); calendar.add(Calendar.DAY_OF_MONTH, 1); } return listDate; } catch (Exception e) { e.printStackTrace(); } return null; }