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

人工势场法在自动驾驶避障中的实践与优化

本文深入探讨了人工势场法在自动驾驶避障中的核心原理与实践优化。通过解析引力与斥力模型,揭示了经典算法在局部最优和目标不可达等问题上的局限性,并重点介绍了改进斥力场函数、引入道路边界斥力及动态参数调整等关键优化策略,有效提升了该局部路径规划算法在复杂动态场景下的实用性与鲁棒性。

weixin_29208327的博客 927

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

让 AI 学会“慢思考”:MCP Sequential Thinking 深度部署与使用指南

摘要: MCP Sequential Thinking 是一种让AI具备"慢思考"能力的技术,通过动态调整思维路径解决复杂问题。本文详细介绍了在Windows、macOS和Linux系统下的部署方法,包括环境准备、配置文件修改等步骤。该技术通过"产生想法-评估需求-修正路径"的循环机制,显著提升AI在代码设计、数学证明等复杂任务中的表现。文章还提供了验证安装方法、使用示例和常见问题解答,帮助开发者解锁AI的深层思考能力。(149字)

weixin_43236925的博客 1907

Conda虚拟环境用conda和pip安装软件包的路径问题

解决在虚拟环境中用pip默认把软件包安装到全局site-packages中。

stone9528的博客 4万+

Extjs 中处理日期的方法总结

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

babyhhcsy的专栏 1218

Qupath软件的安装与使用

Qupath软件的安装与使用软件安装软件下载软件安装【windows版】简单使用文件打开人工标注标注导出和导入 Qupath是一款开源的医学图像标注软件,适合放射影像及数字病理切片等的查看。同时,其自带的标注功能使得医生可以直接通过该软件进行病变区域的标注和分类。跟进一步的,该软件提供groovy脚本运行接口,可供操作者编写和运行脚本,将标注信息转换为xml或者json格式的数据进行进一步的后序处...

qq_40662074的博客 3万+

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

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

weixin_31613423的博客 699

DLMS/COSEM协议的理解体会

DLMS是通信协议,COSEM是电表建模规范。HDLC帧基本格式为0x7e......

一个bug是bug,多个bug能work 8312

SAP 发票凭证反向冲销

发票凭证反向冲销: 业务模拟: MIRO发票校验后,生成发票凭证号: 事务代码MR8M,输入凭证号码,反向冲销(类似于MIGO入库后的反向冲销): 此时进入MIRO查看,发现冲销成功,可以再次做MIRO发票校验: ...

willieyuan的博客 7708

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

Python + Playwright:集成 Applitools 进行视觉回归测试(快速入门)

Applitools是一款基于人工智能的视觉验证测试工具,专门用于自动化和验证应用程序的用户界面(UI);Applitools使用视觉回归测试来检测应用程序界面的变化,确保 UI 在不同版本之间的一致性;Applitools的核心功能是通过视觉比较,检测 UI 元素的差异,而无需手动编写复杂的界面检查代码;通过集成Applitools,测试人员可以轻松捕捉和验证界面中的视觉差异,无论是在Web移动端或桌面应用的测试环境;

blues_C的博客 2920

ExtJs中日期的格式化处理

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

iteye_20626的博客 325

水与光的奇妙“切割之舞”:水导激光切割技术探秘

水导激光切割技术的诞生,是材料加工领域不断追求高精度、高质量加工的成果。传统激光切割技术在加工过程中,材料会因瞬间高温而产生热变形、热影响区大以及切割面粗糙等问题,这些弊端在对一些高精度、热敏性材料的加工中尤为突出 ,迫切需要一种新的技术来克服这些难题。水导激光切割技术的起源可以追溯到 20 世纪 80 年代。1986 年,德国公司 Aesculap-Werke AG 首次提出了将水流引入激光切割过程的创新想法,并制造出首代水导激光设备。不过,当时的技术尚处于雏形阶段,仅仅是在光纤出口添加了一小柱水流,激光

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 1673

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

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

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

No-Way|老狼's专栏 1601

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

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

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

dddp75921的博客 175

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

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、付费专栏及课程。

余额充值