• 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;
        }
    }
    

      

  • 相关阅读:
    Linux安装Memcached服务
    [Shell]随机数
    配置VNC
    Linux挂在ntfs格式的U盘
    大数据入门第五天——离线计算之hadoop(上)概述与集群安装
    Hexo+Github博客搭建
    大数据入门第四天——基础部分之轻量级RPC框架的开发
    大数据入门第三天——基础补充与ActiveMQ
    大数据入门第二天——基础部分之zookeeper(下)
    PowerDesigner安装与使用教程
  • 原文地址:https://www.cnblogs.com/maduar/p/7999921.html
Copyright © 2020-2023  润新知