1.日期转换

1.1字符串类型转换成时间Date类型

  /**
* 给定字符串 转变 为 Date 类型
* @param date 时间
* @param format 时间格式 如:yyyy-MM-dd HH:mm:ss
* @return
*/
public static Date stringToDate(String date,String format) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
Date parse = null;
try {
parse = simpleDateFormat.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(" parse= "+parse);
return parse;
}

重点掌握SimpleDateFormat类,多查看API

1.2.时间Date类型转换成字符串类型

 /**
* 将时间类型转变为指定的字符串类型
* @param date 时间
* @param format 需要的字符串格式 如:yyyy-MM-dd HH:mm:ss
* @return
*/
public static String formatDate(Date date,String format) {
SimpleDateFormat dateFormat = new SimpleDateFormat(format);
String nowTime = dateFormat.format(date);
return nowTime;
}

1.3.日期加减运算

   /**
* 日期加减运算
* @param date 对指定日期运算
* @param calendarField 对日期中的
*那个类型进行运算,比如1表示对年运算, 5表示对天进行运算
* @param amount 正数表示加,负数表示减
* @return
*/
public static Date add(Date date, int calendarField, int amount) {
Calendar c = Calendar.getInstance();
c.setTime(date);
c.add(calendarField, amount);
return c.getTime();
}

重点掌握SimpleDateFormat类,多查看API

2.实际案例应用

需求:在车票列表中显示发车时间,并且高级查询支持发车时间段查询,完成效果如下图:

选择时间时效果如图:

2.1在如果数据库没有发车时间字段这添加发车时间字段

2.2在模型对象中添加该字段

2.3mapper文件修改

a.添加该字段的获取

b.查询条件的条件,注意查询的最大时间和最小时间在查询对象中应该有

查询对象的最大时间与最小时间的添加

2.4前端处理

a.添加My97DatePicker包

My97DatePicke使用方式可以查看 :官网地址http://www.my97.net/demo/index.htm

b.在页面中引入该包并使用

c.获取数据以及填充到页面的js函数

 function query(_pageSize,_currentPage){
// alert("------query------");
//1.获取参数
var startStation = $("#startStation").val();
var stopStation = $("#stopStation").val();
//查询时间范围获取
var startTimeMin = $("#startTimeMin").val();
var startTimeMax = $("#startTimeMax").val();
//2.发送请求
var params = {
// startStation:startStation,
stopStation:stopStation,
_pageSize:_pageSize,//分页需要的数据
_currentPage:_currentPage//分页需要的数据
};
if (null!=startStation && ''!=startStation){//开始车站有值的时候才传递参数
params['startStation']=startStation; //动态向json中添加参数
}
if (null!=startTimeMin && ''!=startTimeMin){//最小时间
params['startTimeMin']=startTimeMin;
}
if (null!=startTimeMax && ''!=startTimeMax){//最大时间
params['startTimeMax']=startTimeMax;
}
var url = '/ticket2/data3';
jQuery.ajax({
type: 'POST',
contentType: 'application/x-www-form-urlencoded',
url: url,
data: params,
dataType: 'json',
success: function (data) {
//取出列表
var ticketList = data.list;
//取出分页数据
var currentPage= data.currentPage;
var count= data.count;
var pageSize= data.pageSize;
var totalPage= data.totalPage;
var html='<tr>'+
'<td>编号</td>'+
'<td>开始车站</td>'+
'<td>到达车站</td>'+
'<td>发车时间</td>'+
'<td>余票数</td>'+
'<td>线路类型</td>'+
'<td>操作</td>'+ //添加购票按钮
'</tr>';
//解析数据到table表中
for (var i=0;i<ticketList.length;i++){
//取出一个对象 java里面的内省机制
var ticket = ticketList[i];
var id = ticket.id;
var startStation= ticket.startStation;
var stopStation= ticket.stopStation;
//发车时间
var startTime = ticket.startTime;
var standby = ticket.standby;
var typeName = ticket.typeName;
html+='<tr>'+
'<td>'+id+'</td>'+
'<td>'+startStation+'</td>'+
'<td>'+stopStation+'</td>'+
'<td>'+startTime+'</td>'+
'<td>'+standby+'</td>'+
'<td>'+typeName+'</td>'+
'<td><button onclick="buyTicket('+id+')">购买</button></td>'+ //添加购票按钮
'</tr>';
}
//3.填充数据
//填充列表
$("#ticketList").html(html);
//填充分页数据
$("#totalPage").html(totalPage);
$("#pageSize").html(pageSize);
$("#count").html(count);
$("#currentPage").html(currentPage);
},
error: function (data) {
alert("失败啦");
}
});
}

重启项目搞定!

大型运输行业实战_day09_1_日期转换与My97DatePicker插件使用的更多相关文章

  1. 大型运输行业实战_day11_2_事务理论与实际生产配置事务管理

    1.什么是事务(Transaction:tx) 数据库的某些需要分步完成,看做是一个整体(独立的工作单元),不能分割,要么整体成功,要么整体生效.“一荣俱荣,一损俱损”,最能体现事务的思想.案例:银行 ...

  2. 大型运输行业实战_day15_1_全文检索之Lucene

    1.引入 全文检索简介: 非结构化数据又一种叫法叫全文数据.从全文数据(文本)中进行检索就叫全文检索. 2.数据库搜索的弊端 案例 :     select  *  from product  whe ...

  3. 大型运输行业实战_day14_1_webserivce简单入门

    1.简单使用 1.1.服务端 1.编写接口 package com.day02.sation.ws; /** * Created by Administrator on 1/12. */ public ...

  4. 大型运输行业实战_day13_1_定时任务spring-quartz

    1.jar包 拷贝quartz-2.2.3.jar包到项目 2.编写定时任务类TicketQuart.java package com.day02.sation.task; import com.da ...

  5. 大型运输行业实战_day12_1_权限管理实现

    1.业务分析 权限说的是不同的用户对同一个系统有不同访问权限,其设计的本质是:给先给用户分配好URL,然后在访问的时候判断该用户是否有当前访问的URL. 2.实现 2.1数据库设计标准5表权限结构 2 ...

  6. 大型运输行业实战_day11_1_aop理论与aop实际业务操作

    1.aop概述 Spring的AOP:什么叫做AOP:Aspect oritention programming(面向切面编程)什么是切面:看图,业务方法 执行前后.AOP的目的:AOP能够将那些与业 ...

  7. 大型运输行业实战_day01_2_需求文档

    1.文档格式 (见模板文件) 2.Axure简单使用 2.1安装Axure傻瓜式安装 2.2简单使用axure 3.总结 需求文件完成后应该包括三种文件: 1.axure文件 2.axure生成的ht ...

  8. 大型运输行业实战_day01_1_业务分析

    1.业务分析 发展历史:  上车收费-->车站买票(相当于先收钱后上车)-->站务系统--->联网售票 2.项目结构 3.开发流程分析 1.业务分析            图文并茂  ...

  9. 大型运输行业实战_day10_1_自定义事务管理类

    1.创建事务管理类  TransactionManager.java package com.day02.sation.transaction; import com.day02.sation.uti ...

随机推荐

  1. Oracle查看及修改Oracle最大连接数

    Oracle查看及修改Oracle最大连接数 .查询oracle的最大连接数: select * from v$parameter where name='processes'; .oracle 11 ...

  2. <<APUE>> 线程的分离状态

    在任何一个时间点上,线程是可结合的(joinable),或者是分离的(detached).一个可结合的线程能够被其他线程收回其资源和杀死:在被其他线程回收之前,它的存储器资源(如栈)是不释放的.相反, ...

  3. appium+python自动化42-微信公众号

    前言 本篇介绍如何在微信公众号上自动化测试,以操作我的个人公众号:yoyoketang为例,没关注的,先微信关注了,再跟着操作 环境准备: python 3.6 appium 1.7以上版本 微信6. ...

  4. linux 下安装doker centeros6.5

    通过 cat /proc/version .uname [root@192.168.1.1 ~]# cat /proc/version Linux version 2.6.32-279.el6.x86 ...

  5. [转]C#鼠标拖动任意控件

    C#鼠标拖动任意控件(winform) 分类: c#2011-08-15 22:51 178人阅读 评论(0) 收藏 举报 winformc#userwindowsobjectapi using Sy ...

  6. google浏览器清除缓存

    google浏览器设置不缓存的方法 摘要:我们在做web开发的时候特别是在调试js时,会经常使用的google浏览器,这个时候就要我们修改过的代码可能不能生效.这是因为我们的浏览器默认是有缓存的,但是 ...

  7. Protocol Buffer Basics: Python

    原文https://developers.google.com/protocol-buffers/docs/pythontutorial Protocol Buffer Basics: Python ...

  8. oracle 用函数返回对象集合

    1.先要声明全局type:并且,字段变量类型要为object,不能为record: (1)CREATE OR REPLACE TYPE "DDD_BY_DEPT_STATISTISC&quo ...

  9. sklearn.svm.SVC 参数说明

    原文地址:sklearn.svm.SVC 参数说明 ============================== 资源: sklearn官网+DOC 库下载GitHub =============== ...

  10. storm项目优化

    实现监控脚本监控topology运行状态