1. Groovy

使用java jvm虚拟机运行(jdk类库都可引入使用)

1.1. 代码示例

import java.time.LocalDate
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter

def main() {
    def params = "{llv}"
    println("1231" + params)

    def startDate = "2023-01-01"
    def endDate = "2023-01-31"
    monthDemo(startDate, endDate)


}

def monthDemo(def startDate, def endDate) {
    def df = DateTimeFormatter.ofPattern("yyyy-MM-dd")
    def dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
    def now = LocalDate.now()
    if (LocalDate.parse(endDate).isAfter(now)) {
        endDate = now.format(df)
    }
    def startDate1 = now.withDayOfMonth(1).format(df)
    def endDate1 = now.format(df)
    def startDate2 = LocalDate.parse(startDate).withDayOfMonth(1).format(df)
    def endDate2 = LocalDate.parse(startDate).withDayOfMonth(1).plusMonths(1).minusDays(1).format(df)
    //如果满足查询当前月份
    if (startDate1.compareTo(startDate) == 0 && endDate1.compareTo(endDate) == 0) {
        isFullMonth = true
        startLastDate = LocalDate.parse(startDate).minusMonths(1).format(df)
        endLastDate = LocalDate.parse(endDate).minusMonths(1).format(df)
    } else if (startDate2.compareTo(startDate) == 0 && endDate2.compareTo(endDate) == 0) {
        //如果满足查询满月
        isFullMonth = true
        startLastDate = LocalDate.parse(startDate).minusMonths(1).withDayOfMonth(1).format(df)
        endLastDate = LocalDate.parse(startDate).withDayOfMonth(1).minusDays(1).format(df)
    } else {
        isFullMonth = false
    }
    def startTime = LocalDateTime.parse(startDate + " 00:00:00", dtf).format(dtf)
    def endTime = LocalDateTime.parse(endDate + " 23:59:59", dtf).format(dtf)

    println("start: " + startDate + " end: " + endDate)
    println("startTime: " + startTime + " endTime: " + endTime)
    println("是否查询满月: " + isFullMonth)
}

return main()
Copyright & copy lviter@163.com            updated 2024-02-06 09:54:56

results matching ""

    No results matching ""