java获取两个时间之间的日期,按天计算

╰+哭是因爲堅強的太久メ 2022-02-17 14:27 424阅读 0赞
  1. public class Test {
  2. public static void main(String[] args) throws Exception
  3. {
  4. List<String> lists = getBetweenTime("2019-01-02 21:20:12","2019-01-08 19:12:20");
  5. for(String list:lists)
  6. {
  7. System.out.println(list);
  8. }
  9. // 2019-01-02
  10. // 2019-01-03
  11. // 2019-01-04
  12. // 2019-01-05
  13. // 2019-01-06
  14. // 2019-01-07
  15. // 2019-01-08
  16. }
  17. public static List<String> getBetweenTime(String starttime,String endtime)
  18. {
  19. List<String> betweenTime = new ArrayList<String>();
  20. try
  21. {
  22. Date sdate= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(starttime);
  23. Date edate= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(endtime);
  24. SimpleDateFormat outformat = new SimpleDateFormat("yyyy-MM-dd");
  25. Calendar sCalendar = Calendar.getInstance();
  26. sCalendar.setTime(sdate);
  27. int year = sCalendar.get(Calendar.YEAR);
  28. int month = sCalendar.get(Calendar.MONTH);
  29. int day = sCalendar.get(Calendar.DATE);
  30. sCalendar.set(year, month, day, 0, 0, 0);
  31. Calendar eCalendar = Calendar.getInstance();
  32. eCalendar.setTime(edate);
  33. year = eCalendar.get(Calendar.YEAR);
  34. month = eCalendar.get(Calendar.MONTH);
  35. day = eCalendar.get(Calendar.DATE);
  36. eCalendar.set(year, month, day, 0, 0, 0);
  37. while (sCalendar.before(eCalendar))
  38. {
  39. betweenTime.add(outformat.format(sCalendar.getTime()));
  40. sCalendar.add(Calendar.DAY_OF_YEAR, 1);
  41. }
  42. betweenTime.add(outformat.format(eCalendar.getTime()));
  43. }
  44. catch(Exception e)
  45. {
  46. e.printStackTrace();
  47. }
  48. return betweenTime;
  49. }
  50. }

发表评论

表情:
评论列表 (有 0 条评论,424人围观)

还没有评论,来说两句吧...

相关阅读