窝牛号

「voto手机怎么样」voto手机格机

今天窝牛号就给我们广大朋友来聊聊voto手机怎么样,以下关于voto手机格机的观点希望能帮助到您找到想要的科技。

前言

在平常开发中总会碰到相应的数据转换,比如将查询的数据转换为周月年然后在前台以折线图的方式表现。

提示:以下是本篇文章正文内容,下面案例可供参考

一、转换步骤

1.VO类

import com.fasterxml.jackson.annotation.JsonFormat; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.util.Date; /** * 用户来源渠道统计表 */ @Data @AllArgsConstructor @NoArgsConstructor public class StatUserRealnameVO { private Integer id; /** * 统计日期(@JsonFormat:将Date转换成String 一般后台传值给前台时) */ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT 8") private Date statTime; /** * 当日实名用户数量 */ private Integer userRealnameCount; /** * 当日实名个人用户数量 */ private Integer userPersionCount; /** * 当日实名企业用户数量 */ private Integer userBusinessCount; } 注意:可能有时间丢失的状况发生

2.转换为周数据

private List<StatUserChannelVO> statUserChannelVOToWeekData(List<StatUserChannelVO> voList) { if (voList == null) { return null; } HashMap<Integer, StatUserChannelVO> map = new LinkedHashMap<>(); for (StatUserChannelVO r : voList) { Date date = r.getStatTime(); Calendar calendar = Calendar.getInstance(); //先设置一周的第一天为周一,然后存入时间,取出每次时间为第几周并以其为key calendar.setFirstDayOfWeek(Calendar.MONDAY); calendar.setTime(date); int key = calendar.get(Calendar.WEEK_OF_YEAR); // 以key取出map中的值 StatUserChannelVO vo = map.get(key); //如果值为空则存入,如果不为空则将相同key的值数据合并,累加数据 if (vo == null) { vo = new StatUserChannelVO(); try { PropertyUtils.copyProperties(vo, r); } catch (Exception e) { log.error("拷贝属性异常:{}", e.getMessage(), e); return null; } //获得某周最后一天,因为默认不是周日 int year = calendar.get(Calendar.YEAR); Date dateWeek = getLastDayOfWeek(year, key); vo.setStatTime(dateWeek); } else { vo.setUnisoundCount(vo.getUnisoundCount() r.getUnisoundCount()); vo.setSemCount(vo.getSemCount() r.getSemCount()); vo.setOtherCount(vo.getOtherCount() r.getOtherCount()); vo.setNullCount(vo.getNullCount() r.getNullCount()); vo.setUserAllCount(vo.getUserAllCount() r.getUserAllCount()); } map.put(key, vo); } Collection<StatUserChannelVO> values = map.values(); List<StatUserChannelVO> sucvoList = new ArrayList<>(values); return sucvoList; } /** * 获得某周最后一天 * * @param year * @param week * @return */ public static Date getLastDayOfWeek(int year, int week) { Calendar cal = Calendar.getInstance(); //设置年份 cal.set(Calendar.YEAR, year); //设置周 cal.set(Calendar.WEEK_OF_YEAR, week); //设置该周第一天为星期一 cal.setFirstDayOfWeek(Calendar.MONDAY); //设置最后一天是星期日 cal.set(Calendar.DAY_OF_WEEK, cal.getFirstDayOfWeek() 6); // Sunday //格式化日期 //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //String lastDayOfWeek = sdf.format(cal.getTime()); return cal.getTime(); }

2.转换为月数据

//其他上下大致一样只有在日期设置这里有些不同 Calendar calendar = Calendar.getInstance(); calendar.setTime(date); //因为这个值的初始值是0,因此我们要用它来表示正确的月份时就需要加1。 int key = calendar.get(Calendar.MONTH) 1;

2.转换为年数据

int key = calendar.get(Calendar.YEAR);

# 总结

就是今天要讲的内容,本文仅仅简单介绍了ava中将数据转换为周月年数据,更加复杂的数据转换并没有涉及。如果你感觉有用请点赞,如果感觉不错请收藏,如果有什么错误请在下方评论指正。我是老白,我们下期再见。

今天的内容先分享到这里了,读完本文《「voto手机怎么样」voto手机格机》之后,是否是您想找的答案呢?想要了解更多,敬请关注baike.ccv168.com,您的关注是给小编最大的鼓励。

本站所发布的文字与图片素材为非商业目的改编或整理,版权归原作者所有,如侵权或涉及违法,请联系我们删除

窝牛号 wwww.93ysy.com   沪ICP备2021036305号-1