object DateUtil { def strDateFormat(strDate: String, inputFormat : String, outputFormat: String): String = { val input = new SimpleDateFormat(inputFormat) val output = new SimpleDateFormat(outputFormat) val date = input.parse(strDate) val strFormatedDate = output.format(date) return strFormatedDate } def dateAdd(strDate: String, addType: Int, addNum: Int, format: String): String = { val dateFormat = new SimpleDateFormat(format) val date = dateFormat.parse(strDate) val calendar = Calendar.getInstance() calendar.setTime(date) calendar.add(addType, addNum) val strFormatedDate = dateFormat.format(calendar.getTime()) return strFormatedDate } def dateAdd(date: Date, addType: Int, addNum: Int, format: String): String = { val calendar = Calendar.getInstance() calendar.setTime(date) calendar.add(addType, addNum) val dateFormat = new SimpleDateFormat(format) val strFormatedDate = dateFormat.format(calendar.getTime()) return strFormatedDate } def dateAdd(date: Date, addType: Int, addNum: Int): Date = { val calendar = Calendar.getInstance() calendar.setTime(date) calendar.add(addType, addNum) val dateTime = calendar.getTime() return dateTime } def toDate(strDate: String, format: String): Date = { val dateFormat = new SimpleDateFormat(format) val date = dateFormat.parse(strDate) return date } def toDateString(date: Date, format: String): String = { val dateFormat = new SimpleDateFormat(format) val strDate = dateFormat.format(date) return strDate } def toDateString(longDate: Long, format: String): String = { val dateFormat = new SimpleDateFormat(format) val strDate = dateFormat.format(longDate*1000) return strDate }
应用;
val line_require_date = args(0) val status = args(1) val end_symbol="$" val yesterday = DateUtil.dateAdd(new Date(), Calendar.DAY_OF_YEAR, -1, "yyyyMMdd") val line_require_date2 = DateUtil.strDateFormat(line_require_date, "yyyyMMdd", "yyyy-MM-dd") val trans_start_inc = DateUtil.dateAdd(line_require_date, Calendar.DAY_OF_YEAR, -2, "yyyyMMdd") val trans_end_inc = DateUtil.dateAdd(line_require_date, Calendar.DAY_OF_YEAR, 4, "yyyyMMdd") val trans_start_dt = DateUtil.strDateFormat(trans_start_inc, "yyyyMMdd", "yyyy-MM-dd") val trans_end_dt = DateUtil.strDateFormat(trans_end_inc, "yyyyMMdd", "yyyy-MM-dd")