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

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

需要解决的问题:

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

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

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

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

     var serviceTimeStart = new Ext.form.DateField({
          name: "serviceTimeEnd",//最新交费时间参数为上期终止时间
          id:"startdate",
          fieldLabel: "服务开始时间",
          allowBlank: false,
          width: 180,
          tabIndex: 8,
          format: ‘Y-m-d‘,
          blankText: "不能为空"

            });
      var serviceTimeEnd = new Ext.form.DateField({
//          name: "serviceTimeEnd",
           id:"endDate",
          fieldLabel: "服务终止时间",
          width: 180,
          tabIndex: 9,
          format: ‘Y-m-d‘,

                     listeners:{
                      change:function()
                      { 

                 var e = Ext.util.Format.date(Ext.getCmp(‘endDate‘).getValue(), ‘Y-m-d‘);//格式化日期控件值
                    var s= Ext.util.Format.date(Ext.getCmp(‘startdate‘).getValue(), ‘Y-m-d‘);//格式化日期控件值

                       var end = new Date(e);
                    var start = new Date(s);
                    var elapsed = Math.round((end.getTime() - start.getTime())/(86400000*30)); // 计算间隔月数

                         Ext.MessageBox.alert(elapsed);
                       }
}
      });

原文地址:https://www.cnblogs.com/mike-mei/p/11054890.html

时间: 2024-08-30 12:05:02

extjs计算两个DateField所间隔的月份(天数)的相关文章

计算两个时间的间隔时间是多少

/** * 计算两个时间间隔 * @param startTime 开始时间 * @param endTime 结束时间 * @param type 类型(1:相隔小时 2:) * @return */ public static int compareTime(String startTime, String endTime, int type) { if (endTime == null || "".equals(endTime)) { endTime = getCurrentTi

计算两个日期间,间隔时间

/** * 测试 @param args */ public static void main(String[] args) { String date1 = "2007-03-01 12:00:00"; String date2 = "2007-03-01 20:20:01"; long[] distanceTimes = null; try { distanceTimes = LockCallBack.getDistanceTimes(date1, date2)

Java 计算两个日期相差月数、天数

package com.myjava; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; public class MyCalendar { /** * @param args * @throws ParseException */ public static void main(String[] args) throws ParseException {

js计算两个时间范围间的间隔秒数

最近在一个项目中,需要计算两个时间段之前间隔的时间秒数,这里把代码记录下来.代码很简单,主要是需要逻辑清楚,因为有几种情况需要区分,放在这里分享下. 1 function weekend(time1,time2){ 2 //计算时间间隔,除去周末和非工作时间 3 if(time1!=null&&time2!=null){ 4 debugger; 5 var timesstart1=Date.parse(time1); 6 var dat1=new Date(timesstart1); 7

Android-计算两个日期之间间隔的天数

要计算两个日期之间间隔的天数,必须把两个日期转换成统一的时间戳,然后计算其毫秒差,再将毫秒差转换成天数. System.out.print("开始时间:"); String str1 = beginTime; // "yyyyMMdd"格式 如 20131022 System.out.println("\n结束时间:"); String str2 = _endTime; // "yyyyMMdd"格式 如 20131022 S

java计算两日期间隔小时或分钟

public static void main(String[] args) {        try {            long min = dateDiff("2014-05-27 13:30:00","2014-05-27 13:00:00","yyyy-MM-dd HH:mm:ss");            System.out.println("---------相隔分钟数: "+min);        

PHP 计算两个日期间隔天数

PHP 计算两个日期间隔天数,可以使用date_diff( )函数: <?php $datetime1 = date_create('2009-10-11'); $datetime2 = date_create('2009-10-13'); $interval = date_diff($datetime1, $datetime2); echo $interval->format('%R%a days'); ?> 浏览器输出结果:

C/C++中计算两个时间相差的天数

在系统中经常用到time()函数获取系统时间,也就是通常所说的日历时间,这个时间是从1970年1月1日0时开始到现在的秒数. 问:已有日历时间t1和t2(假设t1>t2),如何计算他们之间相差的天数. 答: day = (t1+time_zone*60*60)/time_of_day - (t2+time_zone*60*60)/time_of_day 其中time_zone表示时区间隔,比如说北京时间相比于标准时间就需要加8小时,可以参考下图.time_of_day为一天的秒数,等于24*60

MYSQL计算两个字段日期差

一,TIMESTAMPDIFF 语法: TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2). 说明: 返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差.其结果的单位由interval 参数给出.该参数必须是以下值的其中一个: FRAC_SECOND.表示间隔是毫秒 SECOND.秒 MINUTE.分钟 HOUR.小时 DAY.天 WEEK.星期 MONTH.月 QUARTER.季度 Y