js时间比较大小,计算相差天数,加上n天,动态显示当前时间

1、指定时间加上days天

function computationDate(date, days) {
  var d = new Date(date);
  d.setDate(d.getDate() + days); //如果加月就是d.getMonth(); 以此类推
  var m = d.getMonth() + 1;//字符串拼接会拼上1,不是+1
  return d.getFullYear() + '-' + m + '-' + d.getDate() + " " + d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds(); //返回格式 2016-4-27 13:18:00 (可根据自己需要自行设定返回内容)
}

注意:如果增加天数会改变月份或者年份,那么日期对象会自动完成这种转换。

 

2、日期比较

var BIgger = 2020-05-29,17:29:30

var Smaller= 2020-05-25,17:29:30

var Big = new Date(BIgger.replace(/\-/g, "\/"))  // var Big = new Date(BIgger)也可以

var Small = new Date(Smaller.replace(/\-/g, "\/"))

if(BIgger !=""&&Smaller !="" &&Big >Small){

  alert("bigger是大的")

}

 

3、计算相差多少天

var differ = Big.getTime() - Small .getTime()

var differrence = Math.floor(long/(1000*60*60*24)) // 向下取整,没管正负哦~~

 

4、动态显示当前时间

    function timeShow(){
        var timeTemp = new Date();
        //使用toLocaleTimeString()方法生成时间格式
        var nowTime = timeTemp.toLocaleTimeString();
        var timeDiv = document.getElementById("showTime");
        timeDiv.innerHTML = nowTime;
    }
    window.setInterval(timeShow, 1000);
function timeShow(){
    //获取当前时间
        var timeTemp = new Date();
        
    //提取当前时间的时分秒,注意小于10时的时间格式
        var hour = timeTemp.getHours();
        if(hour < 10){
            hour = "0" + hour;
        }
        var minute = timeTemp.getMinutes();
        if(minute < 10){
            minute = "0" + minute;
        }
        var second = timeTemp.getSeconds();
        if(second < 10){
            second = "0" + second;
        }
    //将提取的时分秒按照自己的想法进行拼接
        var nowTime = hour + ":" + minute + ":" + second;
    //通过id获取时间显示的对象引用
        var timeDiv = document.getElementById("showTime");
    //将拼接的字符串赋值给该id标签的HTML
        timeDiv.innerHTML = nowTime;
    }
    //每过1000毫秒执行一次该方法
    window.setInterval(timeShow, 1000);

 5

// 对Date的扩展,将 Date 转化为指定格式的String
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
// 例子:
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18

 

//兼容IE必须为    new Date(TimeStamp.substring(0,19).replace(/-/ig,"/")).format("yyyy-MM-dd hh:mm:ss");

Date.prototype.format = function(fmt) { //author: meizz   
	var o = {
		"M+" : this.getMonth() + 1, //月份   
		"d+" : this.getDate(), //日   
		"h+" : this.getHours(), //小时   
		"m+" : this.getMinutes(), //分   
		"s+" : this.getSeconds(), //秒   
		"q+" : Math.floor((this.getMonth() + 3) / 3), //季度   
		"S" : this.getMilliseconds()
	//毫秒   
	};
	if (/(y+)/.test(fmt))
		fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "")
				.substr(4 - RegExp.$1.length));
	for ( var k in o)
		if (new RegExp("(" + k + ")").test(fmt))
			fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k])
					: (("00" + o[k]).substr(("" + o[k]).length)));
	return fmt;
}

6、倒计时

function toLocaleString(jmjzsj) {

//jmjzsj = 1614134280000
//获取服务器时间
var nowDate=new Date($.ajax({async:false}).getResponseHeader('Date'));
var endDate = new Date(jmjzsj); //endDate = Wed Feb 24 2021 10:38:00 GMT+0800
var totalSeconds = parseInt((endDate - nowDate) / 1000);
var days = Math.floor(totalSeconds / (60 * 60 * 24));
var modulo = totalSeconds % (60 * 60 * 24);
var hours = Math.floor(modulo / (60 * 60));
modulo = modulo % (60 * 60);
var minutes = Math.floor(modulo / 60);
var seconds = modulo % 60;
if (totalSeconds > 0) {
$('#_now_data').text(hours + ":" + minutes + ":" + seconds);
} else if (totalSeconds < 0) {
$('#_now_data').text("00:00:00");
// clearInterval(intervalId);
}
setTimeout(function () {
toLocaleString(jmjzsj);
timestamp++;
}, 1000);
}

posted @ 2020-05-29 18:11  紫花地丁year  阅读(583)  评论(0编辑  收藏  举报