所写的项目中用到了判断时间是否超过了指定的时间。遇到了这样的一个问题,pc端与安卓没有问题,ios端始终无法正确相应判断。经过排查发现问题出现时间的格式上,ios端对时间格式的处理只识别(yyyy/MM/dd hh:mm:ss)不识别(yyyy-MM-dd hh:mm:ss),而后台返给我们的时间经常是后者,所有我们要对后台返回的时间做一个处理,再去判断。

function compareDate(start_time) {
    /**
     * @param {start_time} 开始时间
     */
    if (start_time.indexOf("-") != -1) {
        // 检测传入的时间格式,把'-' 换成 '/'兼容ios
        var start_time = start_time.replace(/-/g, '/');
    }
    // 获取当前时间
    var now_time = new Date();
    // 转换开始时间
    var start_time = new Date(start_time);
    // 比较两个时间
    if (now_time > start_time) {
        return true;
    } else {
        return false;
    }
}

标签: 暂无标签