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