package org.lxzn; import org.jeecg.modules.mdc.util.DateUtils; import org.junit.Test; import java.math.BigDecimal; import java.math.RoundingMode; import java.time.*; import java.time.format.DateTimeFormatter; import java.util.*; /** * @author: LiuS * @create: 2023-04-20 14:51 */ public class TestOne { @Test public void test01() { String startTime = "2023-04-15"; String endTime = "2023-04-20"; List list = DateUtils.getDatesStringList(DateUtils.getShortDate(startTime), DateUtils.getShortDate(endTime)); System.out.println(list); // SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); // Calendar end = Calendar.getInstance(); // Calendar start = Calendar.getInstance(); // try { // end.setTime(format.parse(endTime)); // end.add(Calendar.DAY_OF_MONTH,1); // start.setTime(format.parse(startTime)); // } catch (java.text.ParseException e) { // e.printStackTrace(); // } // System.out.println("startTime: " + start.getTimeInMillis() + " endTime: " + end.getTimeInMillis()); } @Test public void test02() { List list = new ArrayList<>(); list.add("5011"); list.add("5012"); list.add("5013"); list.add("5014"); String join = String.join(",", list); System.out.println(join); } @Test public void test03() { String validDate = YearMonth.now().minusMonths(1).toString(); System.out.println(validDate); } @Test public void test04() { String validDate = "202312"; String date = DateUtils.format(DateUtils.toDate(validDate + "01", DateUtils.STRDATE), DateUtils.STR_DATE) + " 00:00:00"; System.out.println(date); String endDate = DateUtils.format(DateUtils.addMonth(1, DateUtils.toDate(date, DateUtils.STR_DATE_TIME_SMALL)), DateUtils.STR_DATE_TIME_SMALL); System.out.println(endDate); LocalDateTime localDate = LocalDateTime.ofInstant(Objects.requireNonNull(DateUtils.toDate(date, DateUtils.STR_DATE_TIME_SMALL)).toInstant(), ZoneId.systemDefault()); LocalDateTime localEndDate = LocalDateTime.ofInstant(Objects.requireNonNull(DateUtils.toDate(endDate, DateUtils.STR_DATE_TIME_SMALL)).toInstant(), ZoneId.systemDefault()); System.out.println(localDate); System.out.println(localEndDate); /*String date = DateUtils.format(DateUtils.toDate(validDate + "01", DateUtils.STRDATE), DateUtils.STR_DATE) + " "; String startTime = date + "18:00:00"; String endTime = date + "19:00:00"; System.out.println(startTime); System.out.println(endTime); LocalDateTime localStartTime = LocalDateTime.parse(startTime, DateTimeFormatter.ofPattern(DateUtils.STR_DATE_TIME_SMALL)); LocalDateTime localEndTime = LocalDateTime.parse(endTime, DateTimeFormatter.ofPattern(DateUtils.STR_DATE_TIME_SMALL)); System.out.println(localStartTime.toString()); System.out.println(localEndTime.toString()); Integer l = Math.toIntExact(Duration.between(localStartTime, localEndTime).toMinutes()); System.out.println(l);*/ } @Test public void test05() { // String message = "网关9 Client Disconnect!"; String message = "LxCollectionSystem Client Connected!"; System.out.println(message.substring(0, message.indexOf(" "))); } @Test public void test06() { String validDate = "2023-10"; String split = validDate.split("-")[1]; System.out.println(split); } @Test public void test07() { LocalDate localDate = LocalDate.now().plusDays(-1); String date = LocalDate.now().toString(); System.out.println(date); } @Test public void test08() { String chineseName = "feedrate(进给速度)"; String englishName = chineseName.substring(0, chineseName.indexOf("(")); String name = chineseName.substring(englishName.length() + 1, chineseName.length() - 1); System.out.println(englishName); System.out.println(name); } @Test public void test09() { String plan = "日保,周保"; System.out.println(Collections.singletonList(plan)); } @Test public void test10() { BigDecimal cha = BigDecimal.valueOf(Math.random() * 20 + 0).setScale(1, RoundingMode.HALF_UP); System.out.println(cha.toString()); } @Test public void test11() { String equipmentId = "45465451,44858"; List list = Collections.singletonList(equipmentId); System.out.println(list); } @Test public void test12() { Map map1 = new HashMap<>(); map1.put("ProductCount", "1"); map1.put("flag", "A"); Map map2 = new HashMap<>(); map2.put("ProductCount", "1"); map2.put("flag", "B"); Map map3 = new HashMap<>(); map3.put("ProductCount", "2"); map3.put("flag", "C"); Map map4 = new HashMap<>(); map4.put("ProductCount", "2"); map4.put("flag", "D"); Map map5 = new HashMap<>(); map5.put("ProductCount", "3"); map5.put("flag", "E"); List> list = new ArrayList<>(); list.add(map1); list.add(map2); list.add(map3); list.add(map4); list.add(map5); Map first = new HashMap<>(list.get(0)); Map stringObjectMap = list.get(0); for (int i = 1; i < list.size(); i++) { String productCount1 = list.get(i).get("ProductCount").toString(); if (!stringObjectMap.get("ProductCount").equals(productCount1)) { if (first.get("ProductCount").toString().equals(list.get(i - 1).get("ProductCount").toString())) { System.out.println("这是第一条数据,需要查询正确的开始时间点"); System.out.println("第一条数据的结束时间点为:" + list.get(i - 1).get("flag").toString()); System.out.println("第一条数据的数据值为:" + list.get(i - 1).get("ProductCount").toString()); System.out.println("===========分割==========="); } else { System.out.println("开始时间点" + stringObjectMap.get("flag").toString()); System.out.println("结束时间点" + list.get(i - 1).get("flag").toString()); System.out.println("标志,模拟程序号:" + list.get(i - 1).get("flag").toString()); System.out.println("===========分割==========="); } stringObjectMap.put("ProductCount", list.get(i).get("ProductCount").toString()); stringObjectMap.put("flag", list.get(i).get("flag").toString()); } } } @Test public void test13() { for (int i = 0; i < 5; i++) { // BigDecimal random = BigDecimal.valueOf(Math.random() * 5).divide(new BigDecimal("100"), 4, RoundingMode.HALF_UP); String random = String.valueOf((new Random().nextInt(13)) * 10); System.out.println(random); } } @Test public void test14() { String format = DateUtils.format(DateUtils.toDate(LocalDate.now().plusDays(-2).toString(), DateUtils.STR_DATE), DateUtils.STRDATE); System.out.println(format); } @Test public void test15() { String date = DateUtils.format(DateUtils.getNow(), DateUtils.STRDATE); System.out.println(date); } @Test public void test16() { Date initDate = DateUtils.toDate("2023-12-20", DateUtils.STR_DATE); String planTime = "08:00:00"; Date date = DateUtils.setTimeForDay(initDate, planTime); System.out.println(DateUtils.format(date, DateUtils.STR_DATE_TIME_SMALL)); } @Test public void test22() { String date = "2024-10"; String substring = date.substring(5, 7); System.out.println(substring); } @Test public void test23() { List> list = new ArrayList<>(); Map map1 = new HashMap<>(); map1.put("a", 1); list.add(map1); Map map2 = new HashMap<>(); map2.put("a", 1); list.add(map2); // Map map3 = new HashMap<>(); // map3.put("a", 2); // list.add(map3); // // Map map4 = new HashMap<>(); // map4.put("a", 3); // list.add(map4); // // Map map5 = new HashMap<>(); // map5.put("a", 5); // list.add(map5); List> result = new ArrayList<>(); for (int i = 0; i < list.size() - 1; i++) { Map map = list.get(i); Map next = list.get(i + 1); if (map.get("a").equals(next.get("a"))) { Map new1 = new HashMap<>(); new1.put("a", map.get("a") + next.get("a")); result.add(new1); i++; } else { result.add(map); } } if (list.size() > 1) { Integer a = list.get(list.size() - 2).get("a"); Integer b = list.get(list.size() - 1).get("a"); if (!a.equals(b)) { result.add(list.get(list.size() - 1)); } } System.out.println(result); } @Test public void test24() { Date msgDate = DateUtils.toDate("2024-03-05", DateUtils.STR_DATE); Date now = DateUtils.toDate("2024-02-28", DateUtils.STR_DATE); Integer days = DateUtils.getDays(msgDate, now); System.out.println(days); } @Test public void test25() { String format = DateUtils.format(DateUtils.toDate(LocalDate.now().plusMonths(-1).toString(), DateUtils.STR_DATE), DateUtils.STR_YEAR_MONTH); System.out.println(format); } @Test public void test26() { Date end = DateUtils.toDate(LocalDate.now().plusMonths(-1).toString(), DateUtils.STR_DATE); Date start = DateUtils.toDate(LocalDate.now().plusMonths(-12).toString(), DateUtils.STR_DATE); List monthBetween = DateUtils.getMonthBetween(start, end); List result = new ArrayList<>(); for (String month : monthBetween) { String substring = month.substring(month.lastIndexOf("-") + 1).replaceFirst("^0*", "") + "月"; result.add(substring); } System.out.println(result); } @Test public void test37() { // String startDate = LocalDate.now().plusDays(-7).toString(); // String endDate = LocalDate.now().plusDays(-1).toString(); // Date start = DateUtils.toDate(startDate, DateUtils.STR_DATE); // Date end = DateUtils.toDate(endDate, DateUtils.STR_DATE); // List dayBetween = DateUtils.getDatesStringList2(start, end); List dateList = new ArrayList<>(); dateList.add("20240301"); dateList.add("20240310"); dateList.add("20241201"); dateList.add("20241211"); List result = new ArrayList<>(); for (String date : dateList) { String substring = date.substring(4); if (substring.startsWith("0")) { substring = substring.substring(1); String sub = substring.substring(1); if (sub.startsWith("0")) { result.add(substring.substring(0, 1) + "月" + sub.substring(1) + "日"); } else { result.add(substring.substring(0, 1) + "月" + substring.substring(1) + "日"); } } else { String sub = substring.substring(2); if (sub.startsWith("0")) { result.add(substring.substring(0, 2) + "月" + sub.substring(1) + "日"); } else { result.add(substring.substring(0, 2) + "月" + substring.substring(2) + "日"); } } } System.out.println(result); } @Test public void test38() { String validDate = DateUtils.format(DateUtils.toDate(LocalDate.now().plusMonths(-1).toString(), DateUtils.STR_DATE), DateUtils.STR_YEAR_MONTH); System.out.println(validDate); } @Test public void test39() { String date = "2024-02-21"; String substring = date.substring(5, 7); System.out.println(substring); } @Test public void test40() { String date = "0201"; BigDecimal sub = new BigDecimal(date); System.out.println(sub.toString()); } @Test public void test41() { String date = "2024-04-11"; String dateAfterDay = "2024-04-12"; BigDecimal startHourTime = new BigDecimal("12:00".replace(":", "")); BigDecimal endHourTime = new BigDecimal("02:00".replace(":", "")); String endTime= ""; if (startHourTime.compareTo(endHourTime) > -1) { //跨天 endTime = dateAfterDay + " " + "02:00" + ":00"; } else { //不跨天 endTime = date + " " + "02:00" + ":00"; } System.out.println(endTime); } @Test public void test42() { Date date = DateUtils.toDate(LocalDate.now().plusMonths(-1).toString(), DateUtils.STR_DATE); Date endDate = DateUtils.plusTime(DateUtils.getNow(), 0); List stringDates = DateUtils.getDatesStringList2(date, DateUtils.plusTime(endDate, -1)); System.out.println(stringDates); } @Test public void test43() { DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDateTime startDate = LocalDateTime.parse("2024-05-28 18:00:00", dtf); LocalDateTime endDate = LocalDateTime.parse("2024-05-28 01:00:00", dtf); if (startDate.isAfter(endDate)) { endDate = endDate.plusDays(1); } BigDecimal planStartLong = new BigDecimal(Duration.between(startDate, endDate).toMillis() / 1000); System.out.println(planStartLong); } @Test public void test44() { DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String startDate = LocalDateTime.parse("2024-05-28 18:00:00", dtf).plusDays(1).format(dtf); System.out.println(startDate); } }