mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
commit
1960e1ef2a
@ -4,27 +4,14 @@ import cn.hutool.core.date.format.GlobalCustomFormat;
|
|||||||
import cn.hutool.core.text.StrUtil;
|
import cn.hutool.core.text.StrUtil;
|
||||||
import cn.hutool.core.util.ObjUtil;
|
import cn.hutool.core.util.ObjUtil;
|
||||||
|
|
||||||
import java.time.DayOfWeek;
|
import java.time.*;
|
||||||
import java.time.Duration;
|
|
||||||
import java.time.Instant;
|
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.time.LocalTime;
|
|
||||||
import java.time.Period;
|
|
||||||
import java.time.ZoneId;
|
|
||||||
import java.time.ZonedDateTime;
|
|
||||||
import java.time.chrono.ChronoLocalDate;
|
import java.time.chrono.ChronoLocalDate;
|
||||||
import java.time.chrono.ChronoLocalDateTime;
|
import java.time.chrono.ChronoLocalDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.time.temporal.ChronoField;
|
import java.time.temporal.*;
|
||||||
import java.time.temporal.ChronoUnit;
|
|
||||||
import java.time.temporal.Temporal;
|
|
||||||
import java.time.temporal.TemporalAccessor;
|
|
||||||
import java.time.temporal.TemporalAdjusters;
|
|
||||||
import java.time.temporal.TemporalUnit;
|
|
||||||
import java.time.temporal.WeekFields;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.TimeZone;
|
import java.util.TimeZone;
|
||||||
|
import java.util.function.Function;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* JDK8+中的{@link java.time} 工具类封装
|
* JDK8+中的{@link java.time} 工具类封装
|
||||||
@ -355,6 +342,25 @@ public class TimeUtil extends TemporalAccessorUtil {
|
|||||||
return format(date, DatePattern.NORM_DATE_FORMATTER);
|
return format(date, DatePattern.NORM_DATE_FORMATTER);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 格式化时间函数
|
||||||
|
*
|
||||||
|
* @return 格式化时间的函数
|
||||||
|
*/
|
||||||
|
public static Function<LocalDateTime, String> formatTimeFunction(DateTimeFormatter dateTimeFormatter) {
|
||||||
|
return time -> format(time, dateTimeFormatter);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 格式化日期函数
|
||||||
|
*
|
||||||
|
* @return 格式化时间的函数
|
||||||
|
*/
|
||||||
|
public static Function<LocalDate, String> formatDateFunction(DateTimeFormatter dateTimeFormatter) {
|
||||||
|
return date -> format(date, dateTimeFormatter);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 日期偏移,根据field不同加不同值(偏移会修改传入的对象)
|
* 日期偏移,根据field不同加不同值(偏移会修改传入的对象)
|
||||||
*
|
*
|
||||||
|
@ -10,7 +10,10 @@ import java.time.LocalDate;
|
|||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.time.temporal.ChronoUnit;
|
import java.time.temporal.ChronoUnit;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
public class TimeUtilTest {
|
public class TimeUtilTest {
|
||||||
|
|
||||||
@ -319,4 +322,25 @@ public class TimeUtilTest {
|
|||||||
Assert.assertThrows(IllegalArgumentException.class, () -> TimeUtil.isIn(begin, null, end, false, false));
|
Assert.assertThrows(IllegalArgumentException.class, () -> TimeUtil.isIn(begin, null, end, false, false));
|
||||||
Assert.assertThrows(IllegalArgumentException.class, () -> TimeUtil.isIn(begin, begin, null, false, false));
|
Assert.assertThrows(IllegalArgumentException.class, () -> TimeUtil.isIn(begin, begin, null, false, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void formatDateFunctionTest() {
|
||||||
|
List<String> dateStrList = Stream.of("2023-03-01", "2023-03-02")
|
||||||
|
.map(LocalDate::parse)
|
||||||
|
.map(TimeUtil.formatDateFunction(DatePattern.CHINESE_DATE_FORMATTER))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
Assert.assertEquals("2023年03月01日", dateStrList.get(0));
|
||||||
|
Assert.assertEquals("2023年03月02日", dateStrList.get(1));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void formatTimeFunctionTest() {
|
||||||
|
List<String> dateStrList = Stream.of("2023-03-01T12:23:56", "2023-03-02T12:23:56")
|
||||||
|
.map(LocalDateTime::parse)
|
||||||
|
.map(TimeUtil.formatTimeFunction(DatePattern.CHINESE_DATE_FORMATTER))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
Assert.assertEquals("2023年03月01日", dateStrList.get(0));
|
||||||
|
Assert.assertEquals("2023年03月02日", dateStrList.get(1));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user