用kotlin写的
java代码用intellij可互转,此处不再贴出
判断当前日期是星期几
/*** 判断当前日期是星期几*/fun getWeekOfDate(dt: Date): Int {val weekDays = arrayOf(7, 1, 2, 3, 4, 5, 6)val cal = Calendar.getInstance()cal.time = dtvar w = cal[Calendar.DAY_OF_WEEK] - 1if (w < 0) {w = 0}return weekDays[w]}
判断当前日期是否为月底
/*** 判断当前日期是否为月底*/fun isLastDayOfMonth(dt: Date): Boolean {val calendar = Calendar.getInstance()calendar.time = dtcalendar.set(Calendar.DATE, (calendar.get(Calendar.DATE) + 1))return calendar.get(Calendar.DAY_OF_MONTH) == 1}
获取当前季度起始时间
/*** 获取当前季度起始时间*/fun getCurrentQuarterRangeDay(dt: Date): Pair<String, String> {val startDate = getCurrentQuarterStartDate(dt)val endDate = getCurrentQuarterEndDate(dt)return Pair(getDateStr(startDate), getDateStr(endDate))}// 获取当前季度开始时间private fun getCurrentQuarterStartDate(dt: Date): Date {val c = Calendar.getInstance()c.time = dtval currentMonth = c[Calendar.MONTH] + 1var date = dttry {if (currentMonth in 1..3) {c[Calendar.MONTH] = 0} else if (currentMonth in 4..6) {c[Calendar.MONTH] = 3} else if (currentMonth in 7..9) {c[Calendar.MONTH] = 6} else if (currentMonth in 10..12) {c[Calendar.MONTH] = 9}c[Calendar.DATE] = 1date = parseDate(getDateStr(c.time) + " 00:00:00")} catch (e: Exception) {logger.error(e.message, e)}return date}// 获取当前季度结束时间private fun getCurrentQuarterEndDate(dt: Date): Date {val c = Calendar.getInstance()c.time = dtval currentMonth = c[Calendar.MONTH] + 1var date = dttry {if (currentMonth in 1..3) {c[Calendar.MONTH] = 3c[Calendar.DATE] = 31} else if (currentMonth in 4..6) {c[Calendar.MONTH] = 6c[Calendar.DATE] = 30} else if (currentMonth in 7..9) {c[Calendar.MONTH] = 9c[Calendar.DATE] = 30} else if (currentMonth in 10..12) {c[Calendar.MONTH] = 12c[Calendar.DATE] = 31}c[Calendar.DATE] = 1date = parseDate(getDateStr(c.time) + " 23:59:59")} catch (e: Exception) {logger.error(e.message, e)}return getDateInterval(date, -1)}