专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

JS对日期、时间校验;兼容IE new Date()

1. IE浏览器new Date();的坑

var thisDate=new Date("yyyy-MM-dd HH:mm:ss");//此方式IE不支持
var thisDate=new Date("yyyy/MM/dd HH:mm:ss");//此语法支持IE

2. 比较两个日期的大小。例:2019-3-19

    //比较两个日期大小
    function dateCompare(startDate,endDate){
       var aStart=startDate.split('-'); //转成成数组,分别为年,月,日,下同
       var aEnd=endDate.split('-');
       var startDateTemp = aStart[0]+"/" + aStart[1]+ "/" + aStart[2];
       var endDateTemp = aEnd[0] + "/" + aEnd[1] + "/" + aEnd[2];
       if (startDateTemp > endDateTemp) 
        return true;
       else
        return false;
    }

3. 计算两个日期之间的天数

    function dateDiff(date1, date2){     
        var type1 = typeof date1, type2 = typeof date2;     
        if(type1 == 'string')     
            date1 = stringToTime(date1);     
        else if(date1.getTime)     
            date1 = date1.getTime();     
        if(type2 == 'string')     
            date2 = stringToTime(date2);     
        else if(date2.getTime)     
            date2 = date2.getTime(); 
        return (date2 - date1) / 1000 / 60 / 60 / 24;//除1000是毫秒,不加是秒 
    } 
    //字符串转成Time(dateDiff)所需方法 
    function stringToTime(string){     
        var f = string.split(' ', 2);     
        var d = (f[0] ? f[0] : '').split('-', 3);     
        var t = (f[1] ? f[1] : '').split(':', 3);     
        return (new Date(     
        parseInt(d[0], 10) || null,     
        (parseInt(d[1], 10) || 1)-1,     
        parseInt(d[2], 10) || null,     
        parseInt(t[0], 10) || null,    
        parseInt(t[1], 10) || null,     
        parseInt(t[2], 10) || null)).getTime(); 
    }

4. 显示当前系统日期(跑起来的时间)

function showtime() {
    // 获取当前时间对象
    var day = new Date();
    var yeas = day.getFullYear();// 获取年份
    var month = day.getMonth();// 获取月份,值在0--11之间
    var days = day.getDate();// 获取每个月的第几天
    var hours = day.getHours();// 获取当前的小时
    var minutes = day.getMinutes();// 获取当前的分钟
    var seconds = day.getSeconds();// 获取当前的时间秒
    var week = day.getDay();// 获取当前的星期值在0--6之间
    // alert(week);
    var weeks = null;
    if (week == 1) {
        weeks = "星期一";
    } else if (week == 2) {
        weeks = "星期二";
    } else if (week == 3) {
        weeks = "星期三";
    } else if (week == 4) {
        weeks = "星期四";
    } else if (week == 5) {
        weeks = "星期五";
    } else if (week == 6) {
        weeks = "星期六";
    } else if (week == 0) {// 0代表的是星期天
        weeks = "星期天";
    }
    // 将日期显示在前台
    $("#clock").text(yeas + "年" + (month + 1) + "月" + days + "日" + hours + ":" + minutes+ ":" + seconds + "\t\t\t" + weeks);
}

$(function() {
    showtime();
    // 调用时间函数,每一秒钟调用一次
    setInterval("showtime()", 1000);
});

5:格式化当前系统时间

Date.prototype.format = function(format){ 
    var o = { 
        "M+" : this.getMonth()+1, //month 
        "d+" : this.getDate(), //day 
        "h+" : this.getHours(), //hour 
        "m+" : this.getMinutes(), //minute 
        "s+" : this.getSeconds(), //second 
        "q+" : Math.floor((this.getMonth()+3)/3), //quarter 
        "S" : this.getMilliseconds() //millisecond 
    } 
    if(/(y+)/.test(format)) { 
        format.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 
    } 
    for(var k in o) { 
        if(new RegExp("("+ k +")").test(format)) { 
            format = format.replace(RegExp.$1, RegExp.$1.length==1 ? o[k] : ("00"+ o[k]).substr((""+ o[k]).length)); 
        } 
    } 
    return format; 
} 

//返回当前年月日格式为:2016-04-08而不是2016-4-8
new Date().format.("yyyy-MM-dd");

6. 计算两个日期相差分钟数

    // 两个日期之间的分钟数
    function calcDateMinute(startDate,endDate){
        var newDate = new Date(endDate).getTime() - new Date(startDate).getTime();
        return Math.ceil(newDate / 1000 / 60);
    }

文章永久链接:https://tech.souyunku.com/26398

未经允许不得转载:搜云库技术团队 » JS对日期、时间校验;兼容IE new Date()

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们