| | |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.*; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.ArrayList; |
| | | import java.util.Calendar; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.*; |
| | | |
| | | import cn.hutool.core.date.DateUnit; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | @Slf4j |
| | |
| | | Date after = getLastMonthEnd(); |
| | | System.out.println(date); |
| | | System.out.println(after); |
| | | |
| | | |
| | | System.out.println(getMonthTwentyDay()); |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | return firstDayOfMonth; |
| | | } |
| | | |
| | | /** |
| | | * 获取20天前那天时间 |
| | | * |
| | | * @return |
| | | */ |
| | | public static String getTwentyDay() { |
| | | Calendar cal = Calendar.getInstance(); |
| | | cal.setTime(new Date()); |
| | | cal.add(Calendar.DATE, -20); |
| | | |
| | | return DateUtil.format(cal.getTime(),"yyyy-MM-dd"); |
| | | } |
| | | |
| | | /** |
| | | * 获取最近本月20天数据 |
| | | * |
| | | * @return |
| | | */ |
| | | public static String getMonthTwentyDay() { |
| | | Date date = new Date(); |
| | | Long offset = DateUtil.between(new Date(), DateUtil.beginOfMonth(date), DateUnit.DAY); |
| | | if (offset >= 20) { |
| | | return getTwentyDay(); |
| | | } else { |
| | | //距离月初不足20天 |
| | | Calendar calendar = new GregorianCalendar(); |
| | | calendar.setTime(date); |
| | | //获得本月第一天 |
| | | calendar.add(Calendar.MONTH, 0); |
| | | calendar.set(Calendar.DAY_OF_MONTH, 1); |
| | | return DateUtil.format(calendar.getTime(),"yyyy-MM-dd"); |
| | | } |
| | | |
| | | } |
| | | } |