JAVA实现按时间段查询数据操作

html / jsp

<span style="vertical-align: -webkit-baseline-middle;font-size:16px;font-weight:bold;">开始时间:</span>&nbsp;
<input name="startTime" id="startTime" type="text" class="Wdate" onfocus="WdatePicker()" style="height: 34px;
 line-height: 34px; border-radius: 4px; border: 1px solid #ccc; font-size: 14px;">
<span class="ml10 mr8" style="font-size:16px;font-weight:bold;">结束时间:&nbsp;</span>
<input name="endTime" id="endTime" type="text" class="Wdate" onfocus="WdatePicker()" style="height: 34px;
 line-height: 34px; border-radius: 4px; border: 1px solid #ccc; font-size: 14px;">
<input type="submit" class="btn btn-query" id="findTime" value="查询" onClick="toFindTime();" style="float:none;"/>

js方法:

function timeCheckInfo(page,startTime,endTime,officeVal){
 var startTime=$("#startTime").val();
 var endTime=$("#endTime").val();
 $.ajax({
 url: "../../security/base/peoplesafeimg!findPortFolioByTime.action",
 type: "post",
 data:{
  pagenum:page,
  startTime:startTime,
  endTime:endTime,
  deptid:officeid, // 处室ID来源于默认(页面传值)和下拉框选择 lenian 2018 06 29
  depotid:depotid
 },
 dataType: "json",
 success: function (data) {
  //alert(JSON.stringify(data));
  var dataset = data[0].result;
  $(dataset).each(function(i,val) {

  });
 },
 error:function(){
  alert("查询数据失败")
 }
 });
}

PeoplesafeimgAction.java

/**
 * @author lenian 2018 06 12
 * 根据时间查询人员画像机务处、运输处、货运处工作量数据并展示
 * @param page
 * @param startTime
 * @param endTime
 * @return
 */
public String findPortFolioByTime(){
 page.setPageNo(pagenum);
 page = (Page<Map<String, Object>>) peopleSafeImgManager.getPortFolioByTime(page, startTime, endTime, deptid, depotid);
 JSONArray jsonArray = JSONArray.fromObject(page);
 renderTextJSONGBK(jsonArray.toString());
 return null;
}
PeopleSafeImgManager.java

/**
 * @author lenian 2018 06 12
 * 根据时间查询人员画像机务处、运输处、货运处工作量数据并展示
 * @param page
 * @param startTime
 * @param endTime
 * @return
 */
@SuppressWarnings("unchecked")
public Page<Map<String, Object>> getPortFolioByTime(Page<Map<String, Object>> page, String startTime, String endTime, Long deptid, Long depotid) {

 String depotName = null;
 // 判断当站段登录时,传到后台的depotid为空
 if (depotid == null) {
 Long depot_id = SessionManager.getDepartmentId();
 Department department = departmentManager.getObjectById(depot_id);
 depotName = department.getName();//站段
 } else if (depotid != null && depotid != 0) { // 当处室登录,选择其中某个站段进行了查询
 Department department = departmentManager.getObjectById(depotid);
 depotName = department.getName();//站段
 }
 // 根据处室将数据区分开来 lenian 2018 06 25
 Department deparent = departmentManager.getObjectById(deptid);
 // 当处室登录,并且depotid==0,表示查询所有(注:以上操作可示为参数的准备)
 String sql;
 if (depotid != null && depotid == 0) {
 sql = "select spp.id,\n" +
  "    sei.name,\n" +
  "    spp.id_card,\n" +
  "    to_char(spp.time, 'yyyy-MM-dd') time,\n" +
  "    spp.ins,\n" +
  "    spp.outs,\n" +
  "    spp.score,\n" +
  "    spp.minute,\n" +
  "    spp.column_number,\n" +
  "    spp.channel_number\n" +
  " from Security_Portrait_Portfolio spp, Security_Employee_Info sei\n" +
  " where spp.id_card = sei.idcard_num(+) and sei.office_name = '"+ deparent.getName() +"'";
 } else { // 1、当处室登录,选择其中某个站段进行了查询; 2、站段登录,获取当前站段ID
 sql = "select spp.id,\n" +
  "    sei.name,\n" +
  "    spp.id_card,\n" +
  "    to_char(spp.time, 'yyyy-MM-dd') time,\n" +
  "    spp.ins,\n" +
  "    spp.outs,\n" +
  "    spp.score,\n" +
  "    spp.minute,\n" +
  "    spp.column_number,\n" +
  "    spp.channel_number\n" +
  " from Security_Portrait_Portfolio spp, Security_Employee_Info sei\n" +
  " where spp.id_card = sei.idcard_num(+) and spp.depot = '"+ depotName +"' and sei.office_name = '"+ deparent.getName() +"'";
 }
 if (StrUtils.stringQuery(startTime) && StrUtils.stringQuery(endTime)) {
 sql += "and to_char(spp.time, 'yyyy-MM-dd') between '"+ startTime +"' and '"+ endTime +"'";
 }
 sql += "order by spp.create_time desc";
 SQLQuery query = dao.getSession().createSQLQuery(sql);
 Integer count = Integer.parseInt(dao.getSession()
  .createSQLQuery("select count(1) from (" + sql + ")")
  .uniqueResult().toString());
 if (page.isAutoCount()) {
 page.setTotalCount(count);
 }
 if (page.isFirstSetted()) {
 query.setFirstResult(page.getFirst());
 }
 if (page.isPageSizeSetted()) {
 query.setMaxResults(page.getPageSize());
 }
 query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
 page.setResult(query.list());
 return page;
}

补充知识:Java 实现判断时间是否在某个区间内(如是否在23点到凌晨4点之间)

最近遇到一个需求,就是判断一个时间是否在23点到凌晨4点之间,这个时间段是可以修改的。在网上收了一下发现没有符合我的需求的,就自己琢磨了一下,感觉这样算还是可以的。

思路:

如上图的那个圆形的钟表,可以从开始时间剪断,把钟表的环铺平,此时就变成了一个刻度尺,这样就好比较了

代码块

测试代码:

public static void main(String[] args) {
  int start = 23;
  int end = 4;

  int emp = 24 - start;

  for (int d = 0; d < 24; d++) {
    System.out.println((start + emp) % 24 + "\t" + (d + emp) % 24 + "\t" + (end + emp) % 24);
  }
}

输出:

0 1 5
0 2 5
0 3 5
0 4 5
0 5 5
0 6 5
0 7 5
0 8 5
0 9 5
0 10 5
0 11 5
0 12 5
0 13 5
0 14 5
0 15 5
0 16 5
0 17 5
0 18 5
0 19 5
0 20 5
0 21 5
0 22 5
0 23 5
0 0 5

以上这篇JAVA实现按时间段查询数据操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Java mysql数据库并进行内容查询实例代码

    Java  mysql数据库并进行内容查询 最近用框架做了几个项目,感觉当初底层的东西有点忘了,写一个JDBC的简单的连接代码来熟悉回顾一下,也希望对刚接触的新手能有所帮助.这也是我的第一篇随笔,废话不多说,直接上代码: public Connection getCon() { //数据库连接名称 String username="root"; //数据库连接密码 String password=""; String driver="com.mysql.j

  • java实现时间与字符串之间转换

    本文实例为大家分享了java实现时间与字符串之间转换的具体代码,供大家参考,具体内容如下 1. long字符串转换成yyyy-MM-dd HH:mm:ss格式输出 import java.text.SimpleDateFormat; import java.util.Date; //将long字符串转换成格式时间输出 public class LongToString { public static void main(String argsp[]){ String time="12560061

  • Java实现时间动态显示方法汇总

    本文所述实例可以实现Java在界面上动态的显示时间.具体实现方法汇总如下: 1.方法一 用TimerTask: 利用java.util.Timer和java.util.TimerTask来做动态更新,毕竟每次更新可以看作是计时1秒发生一次. 代码如下: import java.awt.Dimension; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java

  • Java 获取指定日期的实现方法总结

    格式化日期 String-->Date 或者 Data-->String SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse("2009-11-04");//String-->Date String sdate = sdf.format(date );// Data-->String =========================

  • JAVA实现按时间段查询数据操作

    html / jsp <span style="vertical-align: -webkit-baseline-middle;font-size:16px;font-weight:bold;">开始时间:</span>  <input name="startTime" id="startTime" type="text" class="Wdate" onfocus="

  • Go语言集成mysql驱动、调用数据库、查询数据操作示例

    本文实例讲述了Go语言集成mysql驱动.调用数据库.查询数据操作.分享给大家供大家参考,具体如下: 1.安装第三方mysql驱动包 go get -u github.com/go-sql-driver/mysql 2.连接数据库基本代码 复制代码 代码如下: package main import (         _"github.com/go-sql-driver/mysql"  // 注意前面的下划线_, 这种方式引入包只执行包的初始化函数         "dat

  • Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解

    本文实例讲述了Laravel框架Eloquent ORM简介.模型建立及查询数据操作.分享给大家供大家参考,具体如下: 注:以下知识点可能有不全面之处,望见谅 NO.1Eloquent ORM简介 Laravel所自带的Eloquent ORM是一个优美.简洁的ActiveRecord实现,用来实现数据库操作 每个数据表都有与之相对应的"模型(Model)"用于和数据交互 NO.2模型的建立 最基础的模型代码如下: namespace App; use Illuminate\Datab

  • Vue按时间段查询数据组件使用详解

    本文实例为大家分享了Vue按时间段查询数据组件的具体使用代码,供大家参考,具体内容如下 首先是前端效果: 界面代码如下: <template> <a-col :md="6" :sm="10"> <a-form-item label="执行时间" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-range-picke

  • MySql 按时间段查询数据方法(实例说明)

    时间格式为2008-06-16 查询出当天数据: SELECT * FROM `table` WHERE date(时间字段) = curdate(); 查询出当月字段: SELECT * FROM `table` WHERE month( 时间字段) = month( now( ) ) ; 时间格式为1219876-- UNIX时间,只要应用"FROM_UNIXTIME( )"函数 例如查询当月: SELECT * FROM `table` WHERE month( from_uni

  • java实现连接mysql数据库单元测试查询数据的实例代码

    1.按照javaweb项目的要求逐步建立搭建起机构,具体的类包有:model .db.dao.test; 具体的架构详见下图: 2.根据搭建的项目架构新建数据库test和数据库表t_userinfo并且添加对应的测试数据; (这里我使用的是绿色版的数据库,具体的下载地址:http://pan.baidu.com/s/1mg88YAc) 具体的建立数据库操作详见下图: 3.编写包中的各种类代码,具体参考代码如下: UserInfo.java /** * FileName: UserInfo.jav

  • java中ResultSet遍历数据操作

    1.查找数据库中表的列名 <pre name="code" class="html">String sql = "select *from tblmetadatainfo"; ResultSet rs = MySqlHelper.executeQuery(sql, null); String str=""; try { ResultSetMetaData rsmd = rs.getMetaData(); for (

  • mybatis查询实现返回List<Map>类型数据操作

    如下所示: **只要设定resultType而不设定resultMap就可以了**: < select id = "selectByPage" parameterType = "java.util.Map" resultType="java.util.Map" > select rs.*, rssetting.*, cp.STOCK_CODE, cp.UNAME from RS rs left join T_COMPANY cp on

  • postgresql数据库根据年月查询出本月的所有数据操作

    表里的所有数据: 现在我要根据创建时间的 年月查询 当月所有的数据 比如前台传给我一个年月的字段planTimeMonth,值为2018-06 那么我们需要查询创建时间为6月份的所有数据 sql: java代码中sql拼接: criteria.andCondition("to_char(crt_time, 'yyyy-mm')='"+query.get("planTimeMonth").toString()+"'"); 补充:postgresql

  • Mybatis-Plus根据时间段去查询数据的实现示例

    业务需求:在前端界面选择开始时间.结束时间,后台根据拿到的开始.结束时间去数据库中查询该段时间的数据集返回给前端界面. 1.前端我使用的是elementUI和vue框架,最好是在前端界面进行一个简单的校验规则,对比一下开始时间和结束时间的大小,校验的代码很简单,直接在触发查询按钮的函数前面加入校验即可.代码如下: if(this.StafPsnClctDetlDFormQuery.startTime >= this.StafPsnClctDetlDFormQuery.endTime){ this

随机推荐