http://blog.csdn.net/littlewolf766/article/details/7329123

项目里需要显示自定义显示格式,比如只显示yyy,yyyy-mm,yyyy-mm-dd等格式。直接设置formatter参数的话,总是报错。用firefox调试后发现,好像在设置新的日期时

datetimebox控件会调用默认的parser指定的函数,把字符串转为日期格式。由于默认的只认"yyyy-MM-dd hh:mm:ss"格式(可以是其它分隔符,并非一定要是'-'),所以如果formatter函数返回的不是这个格式,会报错。

下面是我自己的实现方式:

datetimebox 设置:

  1. //加载日期控件
  2. function loadDate() {
  3. startDTObj = $("#startDate");
  4. endDTObj = $("#endDate");
  5. startDTObj.datetimebox({
  6. showSeconds:false,
  7. formatter: formatDateText,
  8. parser: parseDate
  9. });
  10. endDTObj.datetimebox({
  11. showSeconds:false,
  12. formatter: formatDateText,
  13. parser: parseDate
  14. });
  15. }
  1. /格式化显示的文本
  2. function formatDateText(date) {
  3. var rainType = rainTypeObj.combobox("getValue");
  4. switch (rainType) {
  5. case '0':
  6. return date.formatDate("yyyy-MM-dd hh:mm");
  7. break;
  8. case '1':
  9. return date.formatDate("yyyy-MM-dd hh");
  10. break;
  11. case '2':
  12. return date.formatDate("yyyy-MM-dd");
  13. break;
  14. case '3':
  15. return date.formatDate("yyyy-MM");
  16. break;
  17. case '4':
  18. return date.formatDate("yyyy-MM");
  19. break;
  20. case '5':
  21. return date.formatDate("yyyy");
  22. break;
  23. default:
  24. break;
  25. }
  26. }

本菜鸟写的,由于js,正则不是很熟,写得不好。月,日默认使用‘01’,时间部分默认使用‘00’

  1. //把时间格式字符串转化为时间
  2. //如下格式
  3. //2006
  4. //2006-01
  5. //2006-01-01
  6. //2006-01-01 12
  7. //2006-01-01 12:12
  8. //2006-01-01 12:12:12
  9. function parseDate(dateStr) {
  10. var regexDT = /(\d{4})-?(\d{2})?-?(\d{2})?\s?(\d{2})?:?(\d{2})?:?(\d{2})?/g;
  11. var matchs = regexDT.exec(dateStr);
  12. var date = new Array();
  13. for (var i = 1; i < matchs.length; i++) {
  14. if (matchs[i]!=undefined) {
  15. date[i] = matchs[i];
  16. } else {
  17. if (i<=3) {
  18. date[i] = '01';
  19. } else {
  20. date[i] = '00';
  21. }
  22. }
  23. }
  24. return new Date(date[1], date[2]-1, date[3], date[4], date[5],date[6]);
  25. }

网上找的别人写的格式化日期的方法,很好用

  1. //为date类添加一个format方法
  2. //yyyy 年
  3. //MM 月
  4. //dd 日
  5. //hh 小时
  6. //mm 分
  7. //ss 秒
  8. //qq 季度
  9. //S  毫秒
  10. Date.prototype.formatDate = function (format) //author: meizz
  11. {
  12. var o = {
  13. "M+": this.getMonth() + 1, //month
  14. "d+": this.getDate(),    //day
  15. "h+": this.getHours(),   //hour
  16. "m+": this.getMinutes(), //minute
  17. "s+": this.getSeconds(), //second
  18. "q+": Math.floor((this.getMonth() + 3) / 3),  //quarter
  19. "S": this.getMilliseconds() //millisecond
  20. }
  21. if (/(y+)/.test(format)) format = format.replace(RegExp.$1,
  22. (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  23. for (var k in o) if (new RegExp("(" + k + ")").test(format))
  24. format = format.replace(RegExp.$1,
  25. RegExp.$1.length == 1 ? o[k] :
  26. ("00" + o[k]).substr(("" + o[k]).length));
  27. return format;
  28. }

完成后效果:

easyUI datetimebox 自定义显示格式的更多相关文章

  1. Js:消息弹出框、获取时间区间、时间格式、easyui datebox 自定义校验、表单数据转化json、控制两个日期不能只填一个

    (function ($) { $.messageBox = function (message) { $.messager.show({ title:'消息框提示', msg:message, sh ...

  2. 雷林鹏分享:jQuery EasyUI 窗口 - 自定义窗口工具栏

    jQuery EasyUI 窗口 - 自定义窗口工具栏 默认情况下,窗口(window)有四个工具:collapsible.minimizable.maximizable 和 closable.比如我 ...

  3. 雷林鹏分享:jQuery EasyUI 窗口 - 自定义带有工具条和按钮的对话框

    jQuery EasyUI 窗口 - 自定义带有工具条和按钮的对话框 您可以创建一个带有工具栏(toolbar)和按钮(button)的对话框(dialog),可以从 HTML 标记创建.这个教程描述 ...

  4. 表单(中)-EasyUI Combogrid 组合网格、EasyUI Numberbox 数字框、EasyUI Datebox 日期框、EasyUI Datetimebox 日期时间框、EasyUI Calendar 日历

    EasyUI Combogrid 组合网格 扩展自 $.fn.combo.defaults 和 $.fn.datagrid.defaults.通过 $.fn.combogrid.defaults 重写 ...

  5. EasyUI Datagrid 自定义列、Foolter及单元格编辑

    1:自定义列,包括 Group var head1Array = []; head1Array.push({ field: 'Id', title: 'xxxx', rowspan: 2 }); he ...

  6. easyui DateTimeBox OK

    一.datetimebox   ok按钮没有点击事件,但是可以通过onSelect事件模拟出“点击了ok按钮一样的效果”,我的代码: 关键: 0,理解DateTimeBox控件,这个控件是由DateB ...

  7. easyui datagrid自定义操作列

    通过formatter方法给Jquery easyui 的datagrid 每行增加操作链接 我们都知道Jquery的EasyUI的datagrid可以添加并且自定义Toolbar, 这样我们选择一行 ...

  8. easyui datagrid自定义按钮列,即最后面的操作列(转)

    做项目的时候因为需求,要在表格的最后添加一列操作列,easyUI貌似没有提供这种功能,不过没关系,我们可以自定义来实现 版本:jQuery easyUI 1.3.2 这里我的实现方式是采用HTML形式 ...

  9. easyui之自定义字体图标(鼠标覆盖时切换颜色)

    项目要求是自定义字体图标,使用easyui框架结构,众所周知easyui强功能弱样式,字体图标其实就是一张图片.要达到切换图标颜色的效果,要么就是有两套图,使用js控制.但是我这个人比较懒,不喜欢做复 ...

随机推荐

  1. 转载:XGBOOST算法梳理

    学习内容: CART树 算法原理 损失函数 分裂结点算法 正则化 对缺失值处理 优缺点 应用场景 sklearn参数 转自:https://zhuanlan.zhihu.com/p/58221959 ...

  2. CsvReader和CsvWriter操作csv文件

    使用方法: 提供把实例数据输出到磁盘csv文件的功能 提供读取csv文件,并封装成指定实例的功能 小工具自己依赖了slf4j+logbak,以及fastJson,如果与系统冲突,可以在pom文件中去除 ...

  3. maven实战读书笔记(二)

    一个Spring加载属性的工具类,指定目标位置之后可以用${}的方式加载配置文件 测试maven工程发送email的例子:运行成功的例子—github 常用的命令: mvn clean compile ...

  4. bootstrap table的展开行问题

    照着网上与api里说的添加detailView属性设置为true,detailFormatter属性为展开后的内容,但是设置之后发现,在表格每一行最前面是多出一列正常该显示"+"的 ...

  5. 20135316王剑桥 linux第四周课实验笔记

    第三章 程序的机器级表示 3.1历史观点 Intel处理器的换代:8086——80286——i386——i486——Pentium——PentiumPro——PentiumII——PentiumIII ...

  6. GridView的控件说明[字典]-----方便查询

    GridView 控件以表格的形式显示数据,并提供对数据进行排序,选择,编辑,删除等功能. GridView能够完成的功能具体可以总结如下: 1,通过数据源控件将数据绑定到GridView控件 2,对 ...

  7. WebService有什么用?

    入门之前先简单介绍下WCF.在用WebService做开发时,很多人都不知道WCF和WebService之间的关系.实际上WCF包含了WebService,这是一个很强悍的通信技术应用框架.微软把.N ...

  8. java 框架 面试

    Java—SSH(MVC)1. 谈谈你mvc的理解MVC是Model—View—Controler的简称.即模型—视图—控制器.MVC是一种设计模式,它强制性的把应用程序的输入.处理和输出分开.MVC ...

  9. Beat(2/7)

    目录 摘要 团队部分 个人部分 摘要 队名:小白吃 组长博客:hjj 作业博客:beta冲刺(2/7) 团队部分 后敬甲(组长) 过去两天完成了哪些任务 整理博客 做了点商家数据表格 接下来的计划 做 ...

  10. HDU 4568 Hunter 最短路+TSP

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4568 Hunter Time Limit: 2000/1000 MS (Java/Others)Me ...