js获取当前时间(昨天、今天、明天)
程序员文章站
2023-01-27 23:12:16
1、时间格式化 2、下面是具体到时分秒的获取方法 3、2017.6.27更新今天又发现了一种简单的方法:可以直接对年月日时分秒进行操作,假如今天2017-06-01 那么所得昨天为 2017-05-31 其中,format函数为扩展函数。 4、页面日期 2017-06-27 变 20170627 “ ......
1、时间格式化
1 //昨天的时间 2 var day1 = new date(); 3 day1.settime(day1.gettime()-24*60*60*1000); 4 var s1 = day1.getfullyear()+"-" + (day1.getmonth()+1) + "-" + day1.getdate(); 5 //今天的时间 6 var day2 = new date(); 7 day2.settime(day2.gettime()); 8 var s2 = day2.getfullyear()+"-" + (day2.getmonth()+1) + "-" + day2.getdate(); 9 //明天的时间 10 var day3 = new date(); 11 day3.settime(day3.gettime()+24*60*60*1000); 12 var s3 = day3.getfullyear()+"-" + (day3.getmonth()+1) + "-" + day3.getdate(); 13 //拼接时间 14 function show(){ 15 var str = "" + s1 + "至" + s2; 16 return str; 17 } 18 //赋值doubledate 19 $('#dates').val(show());
2、下面是具体到时分秒的获取方法
1 function writecurrentdate() { 2 var now = new date(); 3 var year = now.getfullyear(); //得到年份 4 var month = now.getmonth();//得到月份 5 var date = now.getdate();//得到日期 6 var day = now.getday();//得到周几 7 var hour = now.gethours();//得到小时 8 var minu = now.getminutes();//得到分钟 9 var sec = now.getseconds();//得到秒 10 var ms = now.getmilliseconds();//获取毫秒 11 var week; 12 month = month + 1; 13 if (month < 10) month = "0" + month; 14 if (date < 10) date = "0" + date; 15 if (hour < 10) hour = "0" + hour; 16 if (minu < 10) minu = "0" + minu; 17 if (sec < 10) sec = "0" + sec; 18 if (ms < 100)ms = "0" + ms; 19 var arr_week = new array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"); 20 week = arr_week[day]; 21 var time = ""; 22 time = year + "年" + month + "月" + date + "日" + " " + hour + ":" + minu + ":" + sec + " " + week; 23 //当前日期赋值给当前日期输入框中(jquery easyui) 24 $("#currentdate").html(time); 25 //设置得到当前日期的函数的执行间隔时间,每1000毫秒刷新一次。 26 var timer = settimeout("writecurrentdate()", 1000); 27 }
3、2017.6.27更新
今天又发现了一种简单的方法:可以直接对年月日时分秒进行操作,假如今天2017-06-01 那么所得昨天为 2017-05-31
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函数为扩展函数。
1 /** 2 *对date的扩展,将 date 转化为指定格式的string 3 *月(m)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, 4 *年(y)可以用 1-4 个占位符,毫秒(s)只能用 1 个占位符(是 1-3 位的数字) 5 *例子: 6 *(new date()).format("yyyy-mm-dd hh:mm:ss.s") ==> 2006-07-02 08:09:04.423 7 *(new date()).format("yyyy-m-d h:m:s.s") ==> 2006-7-2 8:9:4.18 8 */ 9 date.prototype.format = function (fmt) { 10 var o = { 11 "m+": this.getmonth() + 1, //月份 12 "d+": this.getdate(), //日 13 "h+": this.gethours(), //小时 14 "m+": this.getminutes(), //分 15 "s+": this.getseconds(), //秒 16 "q+": math.floor((this.getmonth() + 3) / 3), //季度 17 "s": this.getmilliseconds() //毫秒 18 }; 19 if (/(y+)/.test(fmt)) fmt = fmt.replace(regexp.$1, (this.getfullyear() + "").substr(4 - regexp.$1.length)); 20 for (var k in o) 21 if (new regexp("(" + k + ")").test(fmt)) fmt = fmt.replace(regexp.$1, (regexp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); 22 return fmt; 23 }
4、页面日期 2017-06-27 变 20170627 “2017-06-27”.replace(/-/g,"")。