Extjs中对日期的处理

extjs日期显示(如何转换日期格式) extjs日期显示(如何转换日期格式),亲自试验过的,extjs6中可以使用的 立即下载
1
2
3
4
5
6
7
8
9
10
11
renderer: function(value) {
       if (Ext.isEmpty(value)) {//判断是否是日期类型的数据 
              return ''; 
       } else { 
         if (Ext.isDate(value)) 
            return Ext.util.Format.date(value, 'Y-m-d H:i:s');// 用于时间控件返回值 
        else 
               return value;// 转换为Date类型 
                } 
        }
}

 

1、Extjs中对日期的校验---使用正则表达式:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var value ="2014-03-03";
var re = /^(\d{4})(\/|-)(\d{1,2})\2(\d{1,2})$/
var m = re.exec(value);
if (m != null) {
    var d = new Date(m[1],m[3]-1,m[4]);
    var falg =  d.getFullYear()==m[1] && d.getMonth()==(m[3]-1) && d.getDate()==m[4];
}
if(value==''||value.length < 1){
     this.msgTarget = "qtip";
     this.invalidText = '必填项不能为空!';
     return false;
}else if(!falg){
     this.msgTarget = "qtip";
     this.invalidText = '格式不正确!';
     return false;
}

 

2、Extjs在grid列表中的处理----显示为NAN

复制代码
renderer: function(value) {
        if (Ext.isEmpty(value)) {//判断是否是日期类型的数据  
                return '';  
        } else {  
              if (Ext.isDate(value))  
                 return Ext.util.Format.date(value, 'Y-m-d H:i:s');// 用于时间控件返回值  
     else  
                return value;// 转换为Date类型  
                }  
      }
}
复制代码

 

 

3、Extjs计算日期差:

 

复制代码
var indate =     record.get("inDate");
            indate = indate.replace(/-/g,"/");
            value = value.replace(/-/g,"/");
            var inHours = new Date(indate);
            var FinishHours = new Date(value);
            var day = (FinishHours - inHours)/(24*60*60*1000);//天数
            var hours = (FinishHours - inHours)/(60*60*1000);//小时
                if(day>=0 && hours > 2){
                    return '<font color=blue></font><span >' + value + '</span>';  
                }else{
                    return value;
}
复制代码

 

 

附:在遇到问题2,如果后台使用了JsonArray来处理对象,那么可以使用下面的方法:

 

在使用Extjs的时候会有list想前台放回数据,jsonArray对日期的处理会处理成日期对象,按照时分秒的形式来处理;
为此,可以使用jsonconfig来处理日期的形式;
下面这个方法是将数据库中的含有时分秒的格式转换为日期;不含时分秒;发送到前台的数据是个string类型
可以在format中填写你想要的日期格式就可以转换;
在    registerJsonValueProcessor这个方法中,注意导入的数据库中的日期类型,而不是java的,可以将第一个参数
更改为Date 那么String str = new SimpleDateFormat(format).format((Timestamp) value);里面的日期也会随之更改;
复制代码
        JsonConfig jsonConfig = new JsonConfig();
        jsonConfig.setExcludes(new String[]{
         "invoice","creatorId", "modifyDate", "modifyId","modifyName","createDate","modifyDate","creatorName"
        });

jsonConfig.registerJsonValueProcessor(java.sql.Timestamp.class,new JsonValueProcessor() {
            private final String format="yyyy-MM-dd";
            public Object processObjectValue(String key, Object value,JsonConfig arg2){
              if(value==null)
                    return "";
              if (value instanceof Timestamp) {
                    String str = new SimpleDateFormat(format).format((Timestamp) value);
                    return str;
              }
                    return value.toString();
            }
            public Object processArrayValue(Object value, JsonConfig arg1){
                       return null;
            }
         });
        JSONArray json = JSONArray.fromObject(inventoryList,jsonConfig);
复制代码

 

如果string无法满足你的需求,那么可以书写
复制代码
package com.sinosoft.pmhy.util.conver;
import java.util.Date;

import org.apache.commons.lang.time.DateFormatUtils;

import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonBeanProcessor;

public class MyJsDateJsonBeanProcessor implements JsonBeanProcessor {
        public static String DEFAULT_DATE_PATTERN = "yyyy-MM-dd HH:mm";

        public static String processDate(Date date) {
                return DateFormatUtils.format(date, DEFAULT_DATE_PATTERN);
        }

        private String datePattern = null;

        public String getDatePattern() {
                if (datePattern == null) {
                        return DEFAULT_DATE_PATTERN;
                } else {
                        return datePattern;
                }
        }

        public void resetDatePattern() {
                datePattern = null;
        }

        public JSONObject processBean(Object bean, JsonConfig jsonConfig) {
                if (bean instanceof java.sql.Date) {
                        java.sql.Date d = (java.sql.Date) bean;

                        long time = d.getTime();
                        String pattern = getDatePattern();
                        String date = DateFormatUtils.format(time, pattern);
                        return makeJSONObject(date, time, pattern);
                }

                if (bean instanceof Date) {
                        Date d = (Date) bean;

                        long time = d.getTime();
                        String pattern = getDatePattern();
                        String date = DateFormatUtils.format(time, pattern);
                        return makeJSONObject(date, time, pattern);
                }

                return new JSONObject(true);
        }

        private static JSONObject makeJSONObject(String date, long time,
                        String pattern) {
                JSONObject jsonObject = new JSONObject();
                jsonObject.element("date", date);
                jsonObject.element("time", time);
                jsonObject.element("pattern", pattern);
                return jsonObject;
        }
}
复制代码

 

Extjs 5 日期时间控件 Extjs 5 日期时间控件,很好用,参看readme.docx文件,里面有截图。 目前为止最符合国人时间日期选择控件,参考了多个实现,最终整理而成,希望可以帮到大家。 立即下载

相关推荐

ExtJS日期时间选择控件示例

ExtJS日期时间控件。详细信息参照我的博文: http://blog.csdn.net/lvye1221/article/details/10225941 这是我在 apache 目录下部署了测试示例。将附件中的测试用例,按照以下方式部署好,即可成功访问: apache 根目录包含: extjs 4.0.7 的文件夹,再新建一个测试用的文件夹 test-form, 根目录的目录列表如下所示: ext-4.0.7-gpl test-form/ test-form 文件夹里的列表如下所示,即为解压后的测试示例代码。 test-container.html zhiyuan/ 部署成功后,访问地址为: http://localhost/test-form/test-container.html

Extjs日期操作

Extjs日期操作 Extjs操作日期是很麻烦的事情,现总结如下: Extjs日期转化为字符串: Ext.Date.format(new Date(), ‘Y-m-d’); 字符串转日期 var str = “20190103”; Ext.Date.parse(str,’'Ymd"); 综合练习, 例如: 20130909000000 转化为 2013-06-06 00:00:00 实现: ...

冯晓东——java,activiti 978

西门子S7-1200 PLC控制步进电机实战:从I/O分配到梯形图,手把手教你实现正反转与调速

本文详细介绍了如何使用西门子S7-1200 PLC控制步进电机,从硬件接线到梯形图编程,实现正反转与三档调速功能。通过I/O分配、脉冲生成逻辑和方向控制等核心步骤,帮助工程师快速掌握PLC控制步进电机的关键技术,提升工业自动化项目的实施效率。

weixin_28733777的博客 535

ExtJs时间日期

Extjs中时间日期的处理: var now = new Date();  //获取当前日期 var year = now.getFullYear(); //当前日期的年 var month = now.getMonth();//当前日期的月 var day = now.getDate();//当期日期的天 var nextMonth = month+1;//月份加1 var plan

棉花糖 837

论文笔记--Spatial-Temporal Fusion Graph Neural Networks for Traffic Flow Forecasting

Summary 在交通预测问题上,现有的框架通常利用给定的空间邻接图和复杂的机制来建模空间和时间关联。作者认为使用给定的空间邻接图会限制模型的有效时空相关性学习,并且它们通常使用单独的模块来实现空间和时间相关性,或者只使用独立的组件来捕获局部或全局的异质依赖关系,割裂了时空依赖关系。为此作者提出一种时空融合图神经网络用于交通预测。提出一种数据驱动的“时间图”生成方法,以此来补偿空间图可能没有反映的相关性。提出一种新的交通预测方法。 Problem Definition 交通预测中的挑战 以上图为

chenxino的博客 1755

银河麒麟V10搭建vsftpd

1、查看是否有安装过2、安装3、服务启动步骤设置开机启动并此次立即启动启动重启停止查看状态4、系统防火墙放行ftp服务如果没有重要的数据在服务器里面,或者在本地虚拟机中外网无法访问的情况下,建议直接关闭防火墙即可省略以上繁琐的步骤。

hhq850741642的博客 6483

Extjs 中处理日期的方法总结

1、Extjs中对日期的校验---使用正则表达式:

babyhhcsy的专栏 1218

HDMI与DisplayPort混搭方案:如何用Xilinx Video PHY Controller实现多协议视频接口转换

本文详细解析了如何利用Xilinx Video PHY Controller IP核实现HDMI与DisplayPort协议转换,涵盖混合视频接口架构设计、GT收发器动态重配置策略及跨协议时钟域处理方案。通过实战案例和配置技巧,帮助开发者构建高性能多协议视频转换系统,适用于医疗影像、工业控制等场景。

weixin_30776273的博客 447

extjs 获取日期控件的值_ExtJs日期控件格式说明

祝大家新年快乐,有任何问题可与我联系:大家都知道ExtJs是一个非常强大的工具,为什么说它非常强大了?就是因为它把我们所能想到的一切东西都已经做好了,我们只需要按照它提供的格式去写就可以了。首先我们来说一下日期控件Ext.form.DateField,创建代码如下:var md = new Ext.form.DateField({name: 'testDate',width: 110,format...

weixin_31613423的博客 699

Android 12.0 系统开机设置默认横屏显示

在12.0的系统产品开发中,对于产品需求来说,由于是宽屏设备所以产品需要开机默认横屏显示,开机横屏显示这就需要从两部分来实现,一部分是开机动画横屏显示,另一部分是系统显示横屏显示,从这两方面就可以做到开机默认横屏显示了。

安卓兼职framework和app工程师的博客 3743

prplOS介绍

介绍prplOS是什么,特性、框架、编译等。

四儿家的小祖宗的博客 2120

extjs 计算日期之和_Extjs中对日期的处理

renderer: function(value) {if (Ext.isEmpty(value)) {//判断是否是日期类型的数据return '';} else {if (Ext.isDate(value))return Ext.util.Format.date(value, 'Y-m-d H:i:s');// 用于时间控件返回值elsereturn value;// 转换为Date类型}}}...

weixin_32572129的博客 263

美特CRM mcc_login.jsp存在SQL注入漏洞

MetaCRM 是一种现代化的客户关系管理(CRM)平台,旨在通过集成和自动化的方式帮助企业管理与客户的关系,提高销售和服务效率。MetaCRM 的功能和特性通常涵盖了多个领域,包括销售、营销、客户服务、数据分析和自动化工具。

缘梦未来的博客 808

ExtJs中日期的格式化处理

ExtJs中,日期的格式化处理棘手问题多出现在grid的展示列中。 推荐解决方案: 不要再前端使用js或者extjs提供的格式化函数,在后端处理(比如oracle数据库查询语句中使用to_char格式化或者是用java的SimpleDateFomet函数格式化)为格式化后的字符串,前端只负责显示。 前端格式化方案: 一旦需要在前端处理,具体分析如下: 1. 数据库获取日期 通过数据库查...

iteye_20626的博客 325

【软件使用】向日葵网络连接错误

一直报这个错误,尝试了修改版本无果,各种密码都正确,最后得出结轮是时间没有同步,查看代理是否更改了时间,做一下同步即可。

andeyeluguo的博客 7973

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

EXTJS+STRUTS+SPRING+HIBERNATE中日期问题的处理

        因项目的需要,最近在研究EXTJS和SSH框架的整合问题,主要是研究EXTJS的使用,在这过程中发现对日期问题的处理不像想象的那样顺利,现在把遇到的问题写出来,仅供参考。        通常对日期的处理有两种方法:        一种是直接在数据库中使用字符类型,这样处理在写代码的时候相对简单,但对日后数据库中的数据进行维护时可能会涉及到日期的转换,所以对开发简单,但对维护

No-Way|老狼's专栏 1601

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Extjs4处理后台json数据中日期和时间的方法

当ASP.NET后台使用JavaScriptSerializer这个组件将对象序列化为json,或者使用ScriptMethod特性的json      [ScriptMethod(ResponseFormat = ResponseFormat.Json), WebMethod(EnableSession = true)] public List<EUser...

dddp75921的博客 175

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Extjs4处理json日期和时间

当ASP.NET后台使用JavaScriptSerializer这个组件将对象序列化为json, Hashtable ht = new Hashtable();//生成一个哈希表 ht.Add("total", listu.Count);//保存数据总数 ht.Add("rows", listu);//数据li...

weixin_30877227的博客 103

extjs日期格式处理

extjs 的datefield,往后台传值,接收的是Thu Sep 2 00:00:00 UTC 0800 2010,而我想要的是2010/09/02。 ext.getCmp("id").getvalue.format('Y/m/d');转换 extjs往后台传值 Datefield配置 format:'Y-m-d' 或 Ext.util.Format.date(value, 'Y...

007liuchao007 436

Extjs4---json处理日期的问题,JSONObject.toBean转换日期时显示当前日期

上面一篇文章解决了object转json,并在Extjs前台显示的问题,今天又碰到了一个新问题,就是在前台修改日期后,在后台用JSONObject.toBean转为实体类时出问题了: 1、会显示警告:Can't transform property 'birthday' from java.lang.String into java.util.Date. Will register a

lc448986375的专栏 3492

Extjs DateFiled 转递日期格式到后台处理.

用EXTJS的朋友该遇到过这样的问题.   DateFiled选择日期后,即使我们在其中写了   { xtype : "datefield", format :"Y-m-d" }  我们后台接受的参数依然会是:例如"2010-11-11T11:11:11"的格式.   这件事让我头大了好几个钟头.   在EXTJS里怎么转换,后才就是这样.   最后才...

iteye_1851的博客 274

extjs 计算日期之和_EXTJS日期处理 时间差与大小校验

this.formField = {contaNo :{xtype:'textfield',fieldLabel: '集装箱号',cls:'x-upper-text',width:120,name: 'contaNo',vtype:'alphanum',// regex: /^\w+$/,// regexText:"集装箱号只能由字母和数字组成!",maxLength:12,upperText:...

weixin_39880337的博客 196
上一篇: 写一段方便的SQL 循环查每一天的数据
下一篇: Log4j2常见使用示例及Syslog/Syslog-ng
honckly
博客等级 码龄20年 3粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值