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