zoukankan      html  css  js  c++  java
  • js日期比较

    var assert = require('assert');
    describe('mocha', function() {
        describe('#indexOf()', function() {
            it('mocha test', function() {
    
                var EQUAL = '0',
                    RIGHT = '1',
                    SUCCESS = 'OK',
                    ERROR = 'ERROR';
    
                // 日期相等
                var result1 = comparisonDate('2017-11-11', '2017-11-11');
                assert.equal(result1.state, SUCCESS);
                assert.equal(result1.content, EQUAL);
    
                // 开始日期小于结束日期
                var result2 = comparisonDate('2017-11-11', '2017-11-12');
                assert.equal(result1.state, SUCCESS);
                assert.equal(result1.content, RIGHT);
    
                // 开始日期大于结束日期
                var result3 = comparisonDate('2017-11-12', '2017-11-11');
                assert.equal(result1.state, ERROR);
    
                // 开始日期出错
                var result4 = comparisonDate('2017-11-1', '2017-11-11');
                assert.equal(result1.state, ERROR);
    
                // 结束日期出错
                var result5 = comparisonDate('2017-11-1', '3017-11-11');
                assert.equal(result1.state, ERROR);
    
            });
        });
    });
    
    function comparisonDate( begin_date, end_date  ) {
        const EQUAL = 0,
            RIGHT = 1,
            SUCCESS = 'OK',
            ERROR = 'ERROR',
            dateReg = /^[2]d{3}-[01]d-[0123]d$/;
    
        const data = {
            state: ERROR,
            msg: '',
            content: '日期出错'
        }
    
        if ( typeof begin_date !== 'string' || begin_date === '' || !dateReg.test( begin_date ) ) {
            data.msg = '参数begin_date出错';
            return data;
        }
    
        if ( typeof end_date !== 'string' || end_date  === '' || !dateReg.test( end_date ) ) {
            data.msg = '参数end_date出错';
            return data;
        }
    
        try {
            const beginTimestamp = new Date(begin_date).getTime();
            const endTimestamp = new Date(end_date).getTime();
    
            // 开始日期小于结束日期
            if ( beginTimestamp > endTimestamp ) {
                data.msg = '开始时间大于结束时间';
                return data;
            }
    
            // 开始日期等于结束日期
            if ( beginTimestamp ===  endTimestamp ) {
                data.state = SUCCESS;
                data.content = EQUAL.toString();
                return data;
            }
    
            data.state = SUCCESS;
            data.content = RIGHT.toString();
            return data;
    
        } catch ( err ) {
            return data;
        }
    }
    

      

  • 相关阅读:
    Dev gridControl 按回车增加一行
    Web自动化----常见组件操作
    Web自动化----切换(iframe,浏览器窗口,alret)
    Web自动化----元素等待方法(显式等待和隐式等待)
    Web自动化----模拟动作(鼠标,快捷键,拖拽)
    MySQL的20条基本优化 加参考资料
    国内IT技术博客对比
    博客客户端文章测试
    QQ登录网站接入
    微信公众号本地开发调试工具
  • 原文地址:https://www.cnblogs.com/maduar/p/7999921.html
Copyright © 2011-2022 走看看