JS获取当前时间的实例代码(昨天、今天、明天)
作者:心之所向便是光
这篇文章主要介绍了JS获取当前时间的实例代码(昨天、今天、明天) ,需要的朋友可以参考下
js 日期 获取今天、昨天、明天第一个函数
function getDay(day){ var today = new Date() // 获取时间戳(毫秒级) /* day为1,则是,明天的时间戳 day为-1,则是,昨天的时间戳 day为-2,则是,前天的时间戳 */ var targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day // Date.setTime(时间戳):设置当前日期的时间 today.setTime(targetday_milliseconds) console.log('today=', today) // today= Sun Mar 05 2023 16:14:56 GMT+0800 (中国标准时间) var tYear = today.getFullYear() // 年 var tMonth = today.getMonth() // 月 var tDate = today.getDate() // 日 tMonth = this.doHandleMonth(tMonth + 1) tDate = this.doHandleMonth(tDate) console.log('返回年月日=', tYear + '-' + tMonth + '-' + tDate) return tYear + '-' + tMonth + '-' + tDate } function doHandleMonth(month) { var m = month if (month.toString().length == 1) { m = '0' + month } return m }
js获取今天昨天明天的日期第二个函数
/* * @params date 日期 * @params type 日期 prev/current/next 昨天/今天/明天 * @params fmt 日期拼接符 */ function getDays(date, type, fmt) { let currentDate = new Date(date) let y = currentDate.getFullYear() let m = currentDate.getMonth() + 1 let d = currentDate.getDate() function dateFormat(date, fmt) { let y = new Date(date).getFullYear() let m = new Date(date).getMonth() + 1 let d = new Date(date).getDate() return `${y}${fmt}${m}${fmt}${d}` } switch (type) { case "prev": if (d - 1 < 1) { if (m - 1 < 1) { y = y - 1 m = 12 } else { m = m - 1 } d = new Date(y, m, 0).getDate() } else { d = d - 1 } break case "current": break case "next": if (d + 1 > new Date(y, m, 0).getDate()) { if (m + 1 > 12) { y = y + 1 m = 1 d = 1 } else { m = m + 1 d = 1 } } else { d = d + 1 } break; default: break; } return dateFormat(new Date(`${y}-${m}-${d}`), fmt) } console.log(getDays(new Date('2023-5-13'), "prev", "-")); console.log(getDays(new Date('2023-5-30'), "next", "-")); console.log(getDays(new Date('2023-5-31'), "next", "-"));
1、时间格式化
//昨天的时间 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());
2、下面是具体到时分秒的获取方法
function writeCurrentDate() { var now = new Date(); var year = now.getFullYear(); //得到年份 var month = now.getMonth();//得到月份 var date = now.getDate();//得到日期 var day = now.getDay();//得到周几 var hour = now.getHours();//得到小时 var minu = now.getMinutes();//得到分钟 var sec = now.getSeconds();//得到秒 var MS = now.getMilliseconds();//获取毫秒 var week; month = month + 1; if (month < 10) month = "0" + month; if (date < 10) date = "0" + date; if (hour < 10) hour = "0" + hour; if (minu < 10) minu = "0" + minu; if (sec < 10) sec = "0" + sec; if (MS < 100)MS = "0" + MS; var arr_week = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"); week = arr_week[day]; var time = ""; time = year + "年" + month + "月" + date + "日" + " " + hour + ":" + minu + ":" + sec + " " + week; //当前日期赋值给当前日期输入框中(jQuery easyUI) $("#currentDate").html(time); //设置得到当前日期的函数的执行间隔时间,每1000毫秒刷新一次。 var timer = setTimeout("writeCurrentDate()", 1000); }
3、2017.6.27更新
今天又发现了一种简单的方法:可以直接对年月日时分秒进行操作,假如今天2017-06-01 那么所得昨天为 2017-05-31
//昨天的时间 var day1 = new Date(); day1.setDate(day1.getDate() - 1); var s1 = day1.format("yyyy-MM-dd"); //前天的时间 var day2 = new Date(); day2.setDate(day2.getDate() - 2); 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; }
4、页面日期 2017-06-27 变 20170627 “2017-06-27”.replace(/-/g,"")。、
补充:js获取ISO8601规范时间
var d = new Date(); d.setHours(d.getHours(), d.getMinutes() - d.getTimezoneOffset()); console.log(d.toISOString())
总结
以上所述是小编给大家介绍的JS获取当前时间的实例代码(昨天、今天、明天) ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!