时间的加减计算

时间:2024-01-29 13:00:44

计算两天的时间差值

<script type="text/javascript">
/* 
* 获得时间差,时间格式为 年-月-日 小时:分钟:秒 或者 年/月/日 小时:分钟:秒 
* 其中,年月日为全格式,例如 : 2010-10-12 01:00:00 
* 返回精度为:秒,分,小时,天
*/

function GetDateDiff(startTime, endTime, diffType) {
    //将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式 
    startTime = startTime.replace(/\-/g, "/");
    endTime = endTime.replace(/\-/g, "/");

    //将计算间隔类性字符转换为小写
    diffType = diffType.toLowerCase();
    var sTime = new Date(startTime);      //开始时间
    var eTime = new Date(endTime);  //结束时间
    //作为除数的数字
    var divNum = 1;
    switch (diffType) {
        case "second":
            divNum = 1000;
            break;
        case "minute":
            divNum = 1000 * 60;
            break;
        case "hour":
            divNum = 1000 * 3600;
            break;
        case "day":
            divNum = 1000 * 3600 * 24;
            break;
        default:
            break;
    }
    return parseInt((eTime.getTime() - sTime.getTime()) / parseInt(divNum));
}

var testDate = new Date();
var testStr = testDate.format("yyyy-MM-dd hh:mm:ss");

var result = GetDateDiff("2010-02-26 16:00:00", testStr, "day");
document.write("两者时间差为:" + result + "天了。");
</script>


计算天数
GetDateDiff("2010-02-26 16:00:00", "2011-07-02 21:48:40", "day");

计算秒数
GetDateDiff("2010-02-26 16:00:00", "2011-07-02 21:48:40", "second");

引入时的注意事项

1.js为 ES6 模块化写法时,即 import,export形式,如下

var fun=function(){
    console.log(\'hello\');
}
export default fun;

 2.Vue中全局引入的方式为,在main.js中添加如下代码:

import fun from \'src/models/my.js\';
Vue.prototype.$xx=fun;  //其中$xx为新命的名。
使用方法为,在要调用的地方使用如下代码调用:
var aa=this.$xx;

注意,模块化引入方式时,要引入的 js export的值只可为一个,若多余一个如 export {var1,var2,...} 则不可使用这种方式 (经验证无效)

 

补充:

           获取当前时间戳:Date.now()

    中国标准时间转化为时间戳:date.valueOf()

 

 

3.时间戳转化为天数

function formatDuring(mss){
var days = parseInt(mss / (1000 * 60 * 60 * 24));
var hours = parseInt((mss % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = parseInt((mss % (1000 * 60 * 60)) / (1000 * 60));
var seconds = (mss % (1000 * 60)) / 1000;
return days + " 天 " + hours + " 小时 " + minutes + " 分钟 ";
}

formatDuring(86400)
//"0 天 0 小时 1 分钟 "
formatDuring(86400000)
//"1 天 0 小时 0 分钟 "