需求:两个DateField控件,分别为开始时间和结束时间。当选择完结束时间后,自动计算这两个时间段所间隔的月或天数。

需要解决的问题:

1.直接使用Ext.getCmp('endDate').getValue()所取得的日期无法直接使用,需要使用Ext.util.Format.date()格式化

2.默认计算得到的时间差为毫秒,需要转换。1天=86400000毫秒。

3.得到的数需要使用Math.round()函数取整数。

4.为结束时间的日期控件加监听事件。

01.var serviceTimeStart = new Ext.form.DateField({
02.name: "serviceTimeEnd",//最新交费时间参数为上期终止时间
03.id:"startdate",
04.fieldLabel: "服务开始时间",
05.allowBlank: false,
06.width: 180,
07.tabIndex: 8,
08.format: 'Y-m-d',
09.blankText: "不能为空"
10. 
11.});
12.var serviceTimeEnd = new Ext.form.DateField({
13.//          name: "serviceTimeEnd",
14.id:"endDate",
15.fieldLabel: "服务终止时间",
16.width: 180,
17.tabIndex: 9,
18.format: 'Y-m-d',
19. 
20.listeners:{
21.change:function()
22.{
23. 
24.var e = Ext.util.Format.date(Ext.getCmp('endDate').getValue(), 'Y-m-d');//格式化日期控件值
25.var s= Ext.util.Format.date(Ext.getCmp('startdate').getValue(), 'Y-m-d');//格式化日期控件值
26. 
27.var end = new Date(e);
28.var start = new Date(s);
29.var elapsed = Math.round((end.getTime() - start.getTime())/(86400000*30)); // 计算间隔月数
30. 
31.Ext.MessageBox.alert(elapsed);
32.}
33.}
34.});
 
转http://extjs.org.cn/node/572
 
 
--------------------------new Date(str) IE游览器提示NaN-------------------------------------- 处理如下:
 
 
/*
 * new Date(str) 
 * 兼容不同浏览器
 */
function NewDate(str) {
str = str.split('-');
var date = new Date();
date.setUTCFullYear(str[0], str[1] - 1, str[2]);
date.setUTCHours(0, 0, 0, 0);
return date;
}

ExtJs计算两个DateField所间隔的月份(天数) new Date(str) IE游览器提示NaN 处理的更多相关文章

  1. extjs计算两个DateField所间隔的月份(天数)

    需求:两个DateField控件,分别为开始时间和结束时间.当选择完结束时间后,自动计算这两个时间段所间隔的月或天数. 需要解决的问题: 1.直接使用Ext.getCmp('endDate').get ...

  2. js前台计算两个日期的间隔时间

    js前台计算两个日期的间隔时间(时间差)原创 2017年08月28日 16:09:43 标签:javascript 1144在后台传来两个时间字段,从中解析出两个字符串类型的日期格式 需要在前台解析出 ...

  3. Java8 LocalDate计算两个日期的间隔天数

    Java8新增了java.time包,提供了很多新封装好的类,使我们可以摆脱原先使用java.util.Time以及java.util.Calendar带来的复杂. 其中LocalDate正是本文中使 ...

  4. java计算两个日期之间相隔的月份(向下取整)

    最近需求里面有个需要计算两个日期之间相隔的月份,写起来还挺繁琐,需要将各种情况都要考虑到,写了一个作为以后自己的工具吧. //获取哪一天 public static int getDay(Date d ...

  5. js前台计算两个日期的间隔时间(时间差)

    在后台传来两个时间字段,从中解析出两个字符串类型的日期格式 需要在前台解析出两个时间的间隔 这里采用获取两个日期的时间戳进行计算 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时 ...

  6. javascript中计算两个时间日期间隔的天数

    <script>              /*                  计算两个日期的时间间隔天数              */              //时间字符串的格 ...

  7. PHP计算两个时间戳之间间隔时分秒

    /功能:计算两个时间戳之间相差的日时分秒//$begin_time 开始时间戳//$end_time 结束时间戳function timediff($begin_time,$end_time){ if ...

  8. java:通过Calendar类正确计算两日期之间的间隔

    在开发Android应用时偶然需要用到一个提示用户已用天数的功能,从实现上来看无非就是持久化存入用户第一次使用应用的时间firstTime(通过SharedPreferences .xml.sqlit ...

  9. php 计算两个日期的间隔天数

    使用php内部自带函数实现 1.使用DateTime::diff 实现计算 参考阅读>>PHP DateTime::diff() 上代码: <?php $start = " ...

随机推荐

  1. C#委托详解(3):委托的实现方式大全(续)

    接上篇(C#委托详解(2):实现方式大全),本篇继续介绍委托的实现方式. 4.Action<T>和Func<T>委托 使用委托时,除了为每个参数和返回类型定义一个新委托类型之外 ...

  2. Entity Framework 学习之--Ling to entity实现分页

    最近用MVC做的一个项目涉及到分页,中间用了entity framework来查数据库,不用直接写sql语句,方便了很多. 一般分页的思路是获得两个变量的值: 1.一共有多少条记录 totalCoun ...

  3. Microsoft SQL Server 存储过程举例

    -- if SP is existed, drop it. if (object_id('InvHoldToDPS', 'P') is not null) drop proc InvHoldToDPS ...

  4. 802.11 wireless 六

    802.11 wireless 6Bluetooth蓝牙1.无线个人网络(WPAN)的无线电系统2.普通链路范围 10米/0dBm(100米/20dBm)3.传输频率在2.402 GHZ和2.480 ...

  5. Unity动态加载和内存管理(三合一)

    原址:http://game.ceeger.com/forum/read.php?tid=4394#info 最近一直在和这些内容纠缠,把心得和大家共享一下: Unity里有两种动态加载机制:一是Re ...

  6. Grid分组特性

    Ext.onReady(function () {                Ext.define('personInfo', {                    extend: 'Ext. ...

  7. 线上问题 - MySQL SQL state [HY000]; error code [1366]

    一.问题描述 另外一个系统调用服务接口api:/xxx/create?aName=&time=&...,数据没有保存成功提示SQL state [HY000]; error code ...

  8. vc++ 获取当前用户名

    #include<afxwin.h> #include <stdio.h> int main(void) { char userName[MAX_PATH]; unsigned ...

  9. 2014ACM-ICPC 西安赛区总结

    万万没想到,打铁了.以前一直觉得拿铁咖啡的梗是很好笑的,然后有一天这杯咖啡自己喝下去了,就会发现心里真的被梗住了. 复旦的题其实我是有预料到的,前年的复旦题三题从金区到铜区都有,但是从去年的南京赛区开 ...

  10. java与.net之间xml传递,xml最前面多了个?

    最近做一个项目,是java提供webservice供.net调用.参数采用xml格式.首先碰到的问题: 1).net这边采用XmlSerializer 方式序列化对象传递给对方.对方在本机调试可以收到 ...