一、js獲取當前時間。格式為2016-03-23.
var d = new Date(), mon = parseInt(d.getMonth()+1), str = ""; if(mon<10){ str = d.getFullYear()+"-0"+(d.getMonth()+1)+"-"+d.getDate(); }else{ str = d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate(); } console.log(str)
獲取當前時間,特定時間前的日期
//日期時間計算 function getBeforeDate(n) { var n = n; var d = new Date(); var year = d.getFullYear(); var mon = d.getMonth() + 1; var day = d.getDate(); if(day <= n) { if(mon > 1) { mon = mon - 1; } else { year = year - 1; mon = 12; } } d.setDate(d.getDate() - n); year = d.getFullYear(); mon = d.getMonth() + 1; day = d.getDate(); s = year + "-" + (mon < 10 ? ('0' + mon) : mon) + "-" + (day < 10 ? ('0' + day) : day); return s; } console.log(getBeforeDate(1));//昨天的日期 console.log(getBeforeDate(7));//前七天的日期
二、倒計時
商品類網站,經常會有限時特賣這類產品,經常會有一個倒計時。兩種放
(a):后端傳遞過來商品限時結束的那個時間(時間戳格式),這樣前端只需要利用這個時間戳個現在時間的時間戳去實現倒計時效果。
//限時特賣 function cutTime(){ $('.cut_time').each(function(i,item){ //1595612405000 時候都你傳遞過來的結束的 時間戳。用循環是因為商品不止一個,每一個都有倒計時,循環計算每一個的 //用時間戳去計算 var date1 = new Date(); //開始時間 var date3=1595612405000 - Date.parse(new Date()); var days=Math.floor(date3/(24*3600*1000)); var leave1=date3%(24*3600*1000); var hours=Math.floor(leave1/(3600*1000)); var leave2=leave1%(3600*1000); var minutes=Math.floor(leave2/(60*1000)); var leave3=leave2%(60*1000); var seconds=Math.round(leave3/1000); if(hours<10) hours = '0'+hours; if(minutes<10) minutes = '0'+minutes; if(seconds<10) seconds = '0'+seconds; $(this).find(".hour").text(hours); $(this).find(".minute").text(minutes); $(this).find(".seconds").text(seconds); }); } if($('.cut_time').length > 0){ setInterval(cutTime,1000); }
(b):利用年月日去計算倒計時
//傳入4個參數 年月日 以及 事件顯示的 div的名字(class) function ShowCountDown(year,month,day,contDown){ var now = new Date(); var endDate = new Date(year, month-1, day); var leftTime=endDate.getTime()-now.getTime(); var leftsecond = parseInt(leftTime/1000); var day1=Math.floor(leftsecond/(60*60*24)); var hour=Math.floor((leftsecond-day1*24*60*60)/3600); var minute=Math.floor((leftsecond-day1*24*60*60-hour*3600)/60); var second=Math.floor(leftsecond-day1*24*60*60-hour*3600-minute*60); var cc = $('.' + contDown); cc.text(""); cc.text(day1 +'天'+ hour +'小時'+ minute +'分'+ second +'秒'); };
前台調用方法
//剩余時間控制 var abc = 1000; setInterval("ShowCountDown(2016,10,31,'order_detail_timer')", abc);
3、判斷特定某一天是星期幾
<script type="text/javascript"> var date = "07/17/2014"; //此處也可以寫成 17/07/2014 一樣識別 也可以寫成 07-17-2014 但需要正則轉換 var day = new Date(Date.parse(date)); //需要正則轉換的則 此處為 : var day = new Date(Date.parse(date.replace(/-/g, '/'))); var today = new Array('星期日','星期一','星期二','星期三','星期四','星期五','星期六'); var week = today[day.getDay()]; //最終結果為: alert(week); </script>