获取日期,实时显示当前时间,时间相减
直接获取时间:用到 format()方法
var date= new Date().format("yyyy-MM-dd");
js获取当前日期时间 格式:yyyy-mm-dd hh:mm:ss
1 function getNowFormatDate() { 2 var date = new Date(); 3 var sign1 = "-"; 4 var sign2 = ":"; 5 var year = date.getFullYear() // 年 6 var month = date.getMonth() + 1; // 月 7 var day = date.getDate(); //日 8 var hour = date.getHours(); // 时 9 var minutes = date.getMinutes(); // 分 10 var seconds = date.getSeconds() //秒 11 var weekArr = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期天']; 12 var week = weekArr[date.getDay()]; 13 // 给一位数数据前面加 “0” 14 if (month >= 1 && month <= 9) { 15 month = "0" + month; 16 } 17 if (day >= 0 && day <= 9) { 18 day = "0" + day; 19 } 20 if (hour >= 0 && hour <= 9) { 21 hour = "0" + hour; 22 } 23 if (minutes >= 0 && minutes <= 9) { 24 minutes = "0" + minutes; 25 } 26 if (seconds >= 0 && seconds <= 9) { 27 seconds = "0" + seconds; 28 } 29 var currentdate = year + sign1 + month + sign1 + day + " " + hour + sign2 + minutes + sign2 + seconds + " " + week; 30 return currentdate; 31 32 } 33 34 console.log(getNowFormatDate()); //2018-08-06 09:56:57 星期二
js中格式化日期,调用的时候直接用
//js中格式化日期,调用的时候直接:new Date().format("yyyy-MM-dd hh:mm:ss") Date.prototype.format = function(fmt) { 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; }
//js实时获取并前显示当前时间
$(document).ready(function() { function time() { var date = new Date(); var n = date.getFullYear(); var y = date.getMonth()+1; var t = date.getDate(); var h = date.getHours(); var m = date.getMinutes(); var s = date.getSeconds(); var today = new Array('星期日','星期一','星期二','星期三','星期四','星期五','星期六'); var week = today[date.getDay()]; $('.headtimes span').eq(0).html(n+"-"+y+"-"+t); $('.headtimes span').eq(1).html(week); $('.headtimes span').eq(2).html(h+":"+ (m<10 ? '0' : '') + m +":"+(s<10 ? '0' : '') + s); for (var i = 0; i < $('div').length; i++) { if ($('div').eq(i).text().length == 1) { $('div').eq(i).html(function(index, html) { return 0 + html; }); } } } time(); setInterval(time, 1000); });
html:
<div class='headtimes'> <span></span> <span></span> <span></span> </div>
//时间差:先转成时间戳 减后再转成时间(如:获取相差天数) (相减后的时间)/(24*60*60*1000)
方法一:
js中时间与日期格式的转换:
1. 将时间戳转换成日期格式:格式:yyyy-mm-dd hh:mm:ss
function timestampToTime(timestamp) { var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000 Y = date.getFullYear() + '-'; M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-'; D = date.getDate() + ' '; h = date.getHours() + ':'; m = date.getMinutes() + ':'; s = date.getSeconds(); return Y+M+D+h+m+s; } timestampToTime(1532476834); console.log(timestampToTime(1532476834));//yyyy-mm-dd hh:mm:ss
2.将日期格式转换成时间戳:
注意:获取到的时间戳除以1000就可获得Unix时间戳,就可传值给后台得到。
var date = new Date('2018-07-25'); // 有三种方式获取 var time1 = date.getTime(); var time2 = date.valueOf(); var time3 = Date.parse(date); console.log(time1);//1532476800000//会精确到毫秒 console.log(time2);//1532476800000//会精确到毫秒 console.log(time3);//1532476800000//只能精确到秒,毫秒用000替代
方法二:(2018-02-03 到2018-11-33 相差天数)
function getDateStr(obj){ var s,y,m,d,str,a,b,a1,b1; s = new Date(); y = s.getFullYear(); m = s.getMonth()+1; d = s.getDate(); if(m >= 1 && m <= 9) m = '0' + m; if(d >= 1 && d <= 9) d = '0' + d; str = y+'-'+m+'-'+d; a = str.split('-'); b = obj.split('-'); a1 = new Date(a[1]+'-'+a[2]+'-'+a[0]); b1 = new Date(b[1]+'-'+b[2]+'-'+b[0]); var Days = parseInt(Math.abs(a1-b1)/1000/60/60/24); return Days; }
或
var DateStart = new Date("2018-02-03"); var DateEnd = new Date("2018-03-04"); var days = (DateEnd.getTime() - DateStart.getTime()) / 24 / 60 / 60 / 1000;