Scalaインプリメンテーション--開始日と終了日を含む2つの日付から現在までのすべての日付を取得します.


2つの日付の間のすべての日付を取得するには、開始日と終了日が含まれます.
 /**
   *            
   * @param start     
   * @param end     
   * @return     
   */
  def getBetweenDates(start: String, end: String) = {
    val startData = new SimpleDateFormat("yyyyMMdd").parse(start); //      
    val endData = new SimpleDateFormat("yyyyMMdd").parse(end); //      

    val dateFormat: SimpleDateFormat = new SimpleDateFormat("yyyyMMdd")
    var buffer = new ListBuffer[String]
    buffer += dateFormat.format(startData.getTime())
    val tempStart = Calendar.getInstance()

    tempStart.setTime(startData)
    tempStart.add(Calendar.DAY_OF_YEAR, 1)

    val tempEnd = Calendar.getInstance()
    tempEnd.setTime(endData)
    while (tempStart.before(tempEnd)) {
      // result.add(dateFormat.format(tempStart.getTime()))
      buffer += dateFormat.format(tempStart.getTime())
      tempStart.add(Calendar.DAY_OF_YEAR, 1)
    }
    buffer += dateFormat.format(endData.getTime())
    buffer.toList
  }

方法2:
 /**
   *            
   * @param startDay
   * @param endDay
   * @return
   */
  def getDateRange(startData: Int, endData: Int): immutable.IndexedSeq[Int] = {
    (startData to endData).filter {
      day =>
        try {
          val formatter = new SimpleDateFormat("yyyyMMdd")
          formatter.setLenient(false)
          formatter.parse(day + "")
          true
        } catch {
          case _: Exception => false
        }
    }
  }