本文共 5522 字,大约阅读时间需要 18 分钟。
获取具体的时分秒的函数:
var date = new Date();date .getYear(); //获取当前年份(2位)date .getFullYear(); //获取完整的年份(4位)date .getMonth(); //获取当前月份(0-11,0代表1月)date .getDate(); //获取当前日(1-31)date .getDay(); //获取当前星期X(0-6,0代表星期天)date .getTime(); //获取当前时间(从1970.1.1开始的毫秒数)date .getHours(); //获取当前小时数(0-23)date .getMinutes(); //获取当前分钟数(0-59)date .getSeconds(); //获取当前秒数(0-59)date .getMilliseconds(); //获取当前毫秒数(0-999)date .toLocaleDateString(); //获取当前日期var mytime=date .toLocaleTimeString(); //获取当前时间date .toLocaleString( ); //获取日期与时间
eg:
js获取当前月份第一天:var date = new Date(); date.setDate(1); var month = parseInt(date.getMonth()+1); var day = date.getDate(); if (month < 10) { month = '0' + month } if (day < 10) { day = '0' + day } console.log(date.getFullYear() + '-' + month + '-' + day) // 格式:2020-10-01
js获取当前月份最后一天:
var endDate=new Date(); var currentMonth=endDate.getMonth(); var nextMonth=++currentMonth; var nextMonthFirstDay=new Date(endDate.getFullYear(),nextMonth,1); var oneDay=1000*60*60*24; var lastTime = new Date(nextMonthFirstDay-oneDay); var endMonth = parseInt(lastTime.getMonth()+1); var endDay = lastTime.getDate(); if (endMonth < 10) { endMonth = '0' + endMonth } if (endDay < 10) { endDay = '0' + endDay } console.log(endDate.getFullYear() + '-' + endMonth + '-' + endDay) //格式:2020-10-31
开发过程中某些前台页面的时间控件我们需要给默认当前时间,jquery可以轻松的帮我们实现,代码如下:
//昨天的时间 var day1 = new Date(); day1.setTime(day1.getTime()-24*60*60*1000); var s1 = day1.getFullYear()+"-" + (day1.getMonth()+1) + "-" + day1.getDate();//今天的时间 var day2 = new Date(); day2.setTime(day2.getTime()); var s2 = day2.getFullYear()+"-" + (day2.getMonth()+1) + "-" + day2.getDate();//明天的时间 var day3 = new Date(); day3.setTime(day3.getTime()+24*60*60*1000); var s3 = day3.getFullYear()+"-" + (day3.getMonth()+1) + "-" + day3.getDate(); //拼接时间 function show(){ var str = "" + s1 + "至" + s2; return str; } //赋值doubleDate $('#dateS').val(show());
今天又发现了一种简单的方法:可以直接对年月日时分秒进行操作,假如今天2020-10-01 那么所得昨天为 2017-09-30
1 //昨天的时间 2 var day1 = new Date();3 day1.setDate(day1.getDate() - 1);4 var s1 = day1.format("yyyy-MM-dd");5 //前天的时间6 var day2 = new Date();7 day2.setDate(day2.getDate() - 2);8 var s2 = day2.format("yyyy-MM-dd");
其中,format函数为扩展函数。
/** *对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 */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;}
自己写好的获取当前日期的代码(有注释):
// 获取今天日期 var today = new Date() var month1 = parseInt(today.getMonth() + 1) var day1 = today.getDate() if ((today.getMonth() + 1) < 10) { month1 = '0' + month1 } if (day1 < 10) { day1 = '0' + day1 } this.todayDate = today.getFullYear() + '-' + month1 + '-' + day1 // 获取上个月当前日期 const lastMonth = new Date(today.setDate(today.getDate() - 30)) var month2 = parseInt(lastMonth.getMonth() + 1) var day2 = lastMonth.getDate() if (month2 < 10) { month2 = '0' + month2 } if (day2 < 10) { day2 = '0' + day2 } this.monthDate = lastMonth.getFullYear() + '/' + month2 + '/' + day2 // 获取本月初日期 var date = new Date() date.setDate(1) var month = parseInt(date.getMonth() + 1) var day = date.getDate() if (month < 10) { month = '0' + month } if (day < 10) { day = '0' + day } this.beginmonthDate = date.getFullYear() + '-' + month + '-' + day // 获取本月末日期 var endDate = new Date() var currentMonth = endDate.getMonth() var nextMonth = ++currentMonth var nextMonthFirstDay = new Date(endDate.getFullYear(), nextMonth, 1) var oneDay = 1000 * 60 * 60 * 24 var lastTime = new Date(nextMonthFirstDay - oneDay) var endMonth = parseInt(lastTime.getMonth() + 1) var endDay = lastTime.getDate() if (endMonth < 10) { endMonth = '0' + endMonth } if (endDay < 10) { endDay = '0' + endDay } this.endmonthDate = endDate.getFullYear() + '-' + endMonth + '-' + endDay // 获取上月初日期 var firstdate = new Date(new Date().getFullYear(), new Date().getMonth() - 1, 1) this.beginLastmonthDate = firstdate.getFullYear() + '/' + (firstdate.getMonth() + 1) + '/' + firstdate.getDate() // 获取上月末日期 var date = new Date() var day = new Date(date.getFullYear(), date.getMonth(), 0).getDate() var enddate = new Date(new Date().getFullYear(), new Date().getMonth() - 1, day) this.enddate = enddate.getFullYear() + '/' + (enddate.getMonth() + 1) + '/' + enddate.getDate()
转载地址:http://rmlbi.baihongyu.com/