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. Erlang数据类型的表示和实现(3)——列表

    列表 Erlang 中的列表是通过链表实现的,表示列表的 Eterm 就是这个链表的起点.列表 Eterm 中除去 2 位标签 01 之外,剩下的高 62 位表示指向列表中第一个元素的指针的高 62 ...

  2. nice和renice命令详解

    基础命令学习目录首页 进程调度是linux中非常重要的概念.linux内核有一套高效复杂的调度机制,能使效率极大化,但有时为了实现特定的要求,需要一定的人工干预.比如,你希望操作系统能分配更多的CPU ...

  3. 用python实现数字图片识别神经网络--启动网络的自我训练流程,展示网络数字图片识别效果

    上一节,我们完成了网络训练代码的实现,还有一些问题需要做进一步的确认.网络的最终目标是,输入一张手写数字图片后,网络输出该图片对应的数字.由于网络需要从0到9一共十个数字中挑选出一个,于是我们的网络最 ...

  4. JQuery ajax请求struts action实现异步刷新的小实例

    这个样例是用JQuery ajax和struts来做的一个小样例,在这个样例中采用两种方式将java Util中的list转换成支json的格式,第一种是用json-lib.jar这个jar包来转换, ...

  5. RN 离线包集成后需要注意的一些问题

    1.ReactNative 开发中如何去掉iOS状态栏的"Loading from..." 等淡黑色的弹框,很难看? 在 AppDelegate.h 中引入: #import &l ...

  6. webpack入门指南-step03

    一.webpack 的使用 webpack简单点来说就就是一个配置文件,所有的魔力都是在这一个文件中发生的. 这个配置文件主要分为三大块 entry 入口文件 让webpack用哪个文件作为项目的入口 ...

  7. Scrum Meeting 10 -2014.11.16

    开始进入大项目的整合阶段,平时和其他两个小组交流较少,整合难度还是存在的. 在具体整合前,让开发人员添加了些必要的注释,优化代码结构,方便阅读. Member Today’s task Next ta ...

  8. 冲刺One之站立会议3 /2015-5-16

    2015-5-16 今天我们主要完成一部分服务器端的内容,因为只有服务器端完成了主要功能其他的部分才可以测试有没有成功实现目标.具体包括服务器登陆时需要的端口号.启动时间.服务器状态的显示.在线人数等 ...

  9. Java面试&编写程序:使子线程循环10次,紧接着主线程循环100次,来回50次

    package com.cwcec.test; public class TraditionalThreadCommunication { /** * @param args */ public st ...

  10. Maven解读:强大的依赖体系

    Github地址:https://github.com/zwjlpeng/Maven_Detail Maven最大的好处就是能够很方便的管理项目对第三方Jar包的依赖,只需在Pom文件中添加几行配置文 ...