例如:2017年3月13日有一条数据,2017年3月15日有一条数据,如何将这两个日期中的数据归到2017-3这个字段中
就是我要写折线图,需要这个数据
list
.select(p=>p.formatdate=p.date.tostring("yyyy-MM"))
.groupby(p=>p.formatdata)
.selectmany(p=>{//merge data;})
.select(p=>{//output data})
我从后台数据库获取数据,然后把获取到的数据按照这个方法处理,就可以得到我想要的数据了吗
@微微一笑回眸一生: 嗯,但是,你要理解上面伪代码的意思,并根据你自己的业务逻辑适当变通。上面是解决问题的思路
@czd890: 恩恩,谢谢你啊,我在看,我看不懂merge data跟output data是什么意思(我有点笨,刚弄不久,希望你见谅啊)
@微微一笑回眸一生: 比如3月份有2条数据,那你采用什么逻辑把这数据合并成为你折线图上的一个点呢?求平均?对吧,你要想好。 output 那就是你折线图数据前端展示总有个格式把。格式化一下 仍给前端展示囖
@czd890: 如果我想把这直接作为一条数据怎么办?就比如12,13,14,15都是一条数据,我在2017-3这个数据里边就是4
@微微一笑回眸一生: 这个就太简单了。selectmany(p=>new{p.key,p.count()}),大约这样,体量手机打字好累。如果你只是单纯的根据时间分组,统计数量。可以考虑放到数据库。一条sql就完成了
@czd890: 恩恩,谢谢啊,我突然发现自己很笨啊,等下我给你复制一段代码,你帮我看一下
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
System.out.println(sdf.format(date));
从后台获取数据,再传到前台
学过servlet没有
@知~味~: 没有。。。。
@微微一笑回眸一生: 你用什么实现前端和后台数据交互
@知~味~: mvc
@微微一笑回眸一生:
<body>
<%
if(request.getAttribute("time")==null){
response.sendRedirect("DateTimeServlet");
return;
}
String time = String.valueOf(request.getAttribute("time"));
%>
当前时间:<input value="<%=time %>">
</body>
package com.zuxia.servlet.test;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@SuppressWarnings("serial")
public class DateTimeServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setCharacterEncoding("UTF-8");
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
req.setAttribute("time", sdf.format(date));
req.getRequestDispatcher("index.jsp").forward(req, resp);
}
}
@知~味~: 谢谢你哦,明天我去弄下,再次感谢哦
@微微一笑回眸一生: 不用啊,相互学习吗
@知~味~: 嘻嘻