主要内容:
1,格式化当前时间,返回当前时间
2,计算距离某天的倒计时,时间转时间戳,日期转时间戳
3,限时抢购倒计时设计
1,格式化当前时间
//返回值是格式化后的时间,修改return可以按自定义格式返回
function getNowDate(){
var da = new Date();
var trade =da.getFullYear();
var mt =da.getMonth() + 1 >10 ? da.getMonth() + 1 : "0"+(da.getMonth() + 1);
var dt =da.getDate() >=10 ? da.getDate() : "0"+da.getDate();
var dh =da.getHours() >=10 ? da.getHours() : "0"+da.getHours();
var dm =da.getMinutes() >=10 ? da.getMinutes() : "0"+da.getMinutes();
var ds =da.getSeconds() >=10 ? da.getSeconds() : "0"+da.getSeconds();
return trade+="/"+mt+"/"+dt+" "+dh+":"+dm+":"+ds;
}
2,计算距离某天的倒计时
原理:利用输入的日期按时间戳的方式计算倒计时
注意:移动端不支持2016-01-01格式,仅支持2016/01/01
//计算某天的倒计时
function getDateCutdown(datestr){
// 获取当前时间戳(以s为单位)
var timestamp = Date.parse(new Date());
timestamp = timestamp / 1000;
// 获取某天的时间戳
var stringTime =datestr;
var timestamp2 = Date.parse(new Date(stringTime));
timestamp2 = timestamp2 / 1000;
//计算日期
var chazghi = timestamp2-timestamp;
var cd = parseInt(chazghi/(24*60*60));
var dy = chazghi%(24*60*60);
//计算小时
var ct = parseInt(dy/(60*60));
var ty = dy%(60*60);
//计算分
var cm = parseInt(ty/60);
var my = ty%60;
//返回对象d=天,h=时,m=分,s=秒
return obj={
"d":cd,
"h":ct,
"m":cm,
"s":my
}
}
//调用:
var stringTime = "2016/8/26 11:00:00";
console.log(getDateCutdown(stringTime));
3,限时抢购倒计时设计
<style>
#countDown span{
width: 25px;
height: 25px;
background-color: #000000;
color: white;
padding: 0 2px;
}
</style>
<div id="countDown" style="margin-top: 5px;">
<span>23</span> :
<span>59</span> :
<span>59</span>
</div>
countDown()
function countDown(){
var datearr = getDate();
cdshow("all",datearr);
setInterval(function(){
datearr[2]--;
cdshow("second",datearr);
//秒针判断
if(datearr[2] <0){
datearr[2]=59;
datearr[1]--;
cdshow("second",datearr);
cdshow("minute",datearr);
//分钟判断
if(datearr[1]<0){
datearr[1]=59;
datearr[0]--;
$("#countDown span:nth-child(2)").html(datearr[1]);
cdshow("hour",datearr);
//时针判断
if(datearr[0]<0){
datearr=[23,59,59];
//倒计时结束,可以在这里执行结束动作
//回到初始
cdshow("all",datearr);
}
}
}
},1000);
}
//dom操作
function cdshow(dom,datearr){
if(dom == "all"){
if(datearr[2]<10){
$("#countDown span:nth-child(3)").html("0"+datearr[2]);
}else{
$("#countDown span:nth-child(3)").html(datearr[2]);
}
if(datearr[1]<10){
$("#countDown span:nth-child(2)").html("0"+datearr[1]);
}else{
$("#countDown span:nth-child(2)").html(datearr[1]);
}
if(datearr[0]<10){
$("#countDown span:nth-child(1)").html("0"+datearr[0]);
}else{
$("#countDown span:nth-child(1)").html(datearr[0]);
}
}else if(dom == "second"){
if(datearr[2]<10){
$("#countDown span:nth-child(3)").html("0"+datearr[2]);
}else{
$("#countDown span:nth-child(3)").html(datearr[2]);
}
}else if(dom =="minute"){
if(datearr[1]<10){
$("#countDown span:nth-child(2)").html("0"+datearr[1]);
}else{
$("#countDown span:nth-child(2)").html(datearr[1]);
}
}else if(dom == "hour"){
if(datearr[0]<10){
$("#countDown span:nth-child(1)").html("0"+datearr[0]);
}else{
$("#countDown span:nth-child(1)").html(datearr[0]);
}
}
}
//获取时间
function getDate(){
var da = new Date();
var dh =(24-da.getHours())
var dm =(60-da.getMinutes()) == 60 ? 0 : (60-da.getMinutes());
var ds =(60-da.getSeconds()) == 60 ? 0 : (60-da.getSeconds());
var temarr = [dh,dm,ds];
return temarr;
}