文章目录
- 使用糊涂工具,将时间字符串转化为LocalDateTime类型
- Date类型转换LocalDate类型
- jdk8 LocalDateTime获取当前时间和前后推时间
- echarts图中显示表格是需要添加宽高
- 前端往后端传值时,需要转一下对象再往后端传
- 使用 `value-format="yyyy-MM-dd HH:mm:ss"`来指定element生成的时间格式
- 使用stream流将结果按类型分组
- 业务类型下拉框
使用糊涂工具,将时间字符串转化为LocalDateTime类型
public static LocalDateTime stringToLocalDateTime(String stringTime){
//CST格式的时间 Mon Oct 24 10:18:54 CST 202
//正常格式的时间 yyyy-MM-dd HH:mm:ss
//对于不知道是什么时间格式的字符串进行LocalDateTime的时间转换,这里介绍使用hutool包,将字符串先转换成DateTime,再转LocalDateTime
DateTime parse = DateUtil.parse(stringTime);
Instant instant = parse.toInstant();
ZoneId zoneId = ZoneId.systemDefault();
return instant.atZone(zoneId).toLocalDateTime();
}
Date类型转换LocalDate类型
/**
* 使用糊涂工具,将时间字符串转化为LocalDateTime类型
* @param stringTime 时间字符串
* @return LocalDateTime
*/
public static LocalDateTime stringToLocalDateTime(String stringTime){
//CST格式的时间 Mon Oct 24 10:18:54 CST 202
//正常格式的时间 yyyy-MM-dd HH:mm:ss
//对于不知道是什么时间格式的字符串进行LocalDateTime的时间转换,这里介绍使用hutool包,将字符串先转换成DateTime,再转LocalDateTime
DateTime parse = DateUtil.parse(stringTime);
Instant instant = parse.toInstant();
ZoneId zoneId = ZoneId.systemDefault();
return instant.atZone(zoneId).toLocalDateTime();
}
/**
* Date类型转LocalDate
* @param date
* @return
*/
public static LocalDate dateToLocalDate(Date date){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String format = sdf.format(date);
LocalDateTime localDateTime = stringToLocalDateTime(format);
return localDateTime.toLocalDate();
}
jdk8 LocalDateTime获取当前时间和前后推时间
@Test
void test() {
LocalDateTime now = LocalDateTime.now();
//当前时间往后推一周
LocalDateTime plusweek = now.plus(1, ChronoUnit.WEEKS);
//当前时间往前推一周
LocalDateTime minusWeek = now.minus(1, ChronoUnit.WEEKS);
}
echarts图中显示表格是需要添加宽高
前端往后端传值时,需要转一下对象再往后端传
export default {
data() {
return {
queryOrder: ''
}
},
methods: {
getOrderCount() {
//这里需要将字段转一下对象,后端使用monDate接收
var param = {monDate: this.queryOrder}
getOrderCount(param).then(res => {
。。。
}
}
使用 value-format="yyyy-MM-dd HH:mm:ss"
来指定element生成的时间格式
<div class="container">
<span class="demonstration">请选择时间</span>
<el-date-picker
v-model="queryOrder"
@change="getOrderCount()"
value-format="yyyy-MM-dd HH:mm:ss"
type="week"
format="yyyy 第 WW 周"
placeholder="最近7天订单量">
</el-date-picker>
</div>
使用stream流将结果按类型分组
//将开始时间结束时间封装为参数
Map<String, Object> param = new HashMap<>();
param.put("startTime", startDate);
param.put("endTime", endDate);
//查询出list结果
List<OrderTypeNum> orderTypeNumList = shlibVirtualOrderRepository.findAllByNativeQuery("getOrderCount", param, OrderTypeNum.class);
//使用stream流将结果按类型分组
Map<String, List<OrderTypeNum>> collect = orderTypeNumList.stream().collect(Collectors.groupingBy(OrderTypeNum::getType));
业务类型下拉框
注意v-model="form.businessType"的值要与:label="item.label"的值对应,并且类型一致(字符串不会转为int)不对应也不会显示