之前的倒计时是这么写的
//计算剩余时间 time-截止时间;serverTime--服务器时间,id-要显示时分秒对应的父节点Id
function countRestTime(time,serverTime,id){
var day_elem = $(id).find('.day');
var hour_elem = $(id).find('.hour');
var minute_elem = $(id).find('.minute');
var second_elem = $(id).find('.second');
var end_time = new Date(time).getTime();//月份是实际月份-1
var start_time= new Date(serverTime).getTime();
var sys_second = (end_time-start_time)/1000;
function startTime(){
if (sys_second > 1) {
sys_second -= 1;
var day = Math.floor((sys_second / 3600) / 24);
var hour = day*24 + Math.floor((sys_second / 3600) % 24);
var minute = Math.floor((sys_second / 60) % 60);
var second = Math.floor(sys_second % 60);
day_elem && $(day_elem).text(day);//计算天
$(hour_elem).text(hour<10?"0"+hour:hour);//计算小时
$(minute_elem).text(minute<10?"0"+minute:minute);//计算分钟
$(second_elem).text(second<10?"0"+second:second);//计算秒杀
} else {
clearInterval(timer);
}
};
timer = setInterval(startTime,1000);
startTime();
}
以上代码在google浏览器,安卓手机微信是没任何问题的,但是在苹果手机或者苹果微信异常;
问题出在new Date(time).getTime();返回的是NaN;
解决方案:
new Date(time).getTime();返回的是NaN;
改为:
eval("new Date("+ time.replace(/\D+/g,",")+")").getTime();
则在google浏览器 安卓、安卓微信,苹果浏览器 ,苹果微信统统秒杀!
//计算剩余时间
function countRestTime(time,serverTime,id){
var day_elem = $(id).find('.day');
var hour_elem = $(id).find('.hour');
var minute_elem = $(id).find('.minute');
var second_elem = $(id).find('.second');
var end_time = eval("new Date("+ time.replace(/\D+/g,",")+")").getTime();
var start_time= eval("new Date("+ serverTime.replace(/\D+/g,",")+")").getTime();
var sys_second = (end_time-start_time)/1000;
function startTime(){
if (sys_second > 1) {
sys_second -= 1;
var day = Math.floor((sys_second / 3600) / 24);
var hour = day*24 + Math.floor((sys_second / 3600) % 24);
var minute = Math.floor((sys_second / 60) % 60);
var second = Math.floor(sys_second % 60);
day_elem && $(day_elem).text(day);//计算天
$(hour_elem).text(hour<10?"0"+hour:hour);//计算小时
$(minute_elem).text(minute<10?"0"+minute:minute);//计算分钟
$(second_elem).text(second<10?"0"+second:second);//计算秒杀
} else {
clearInterval(timer);
}
};
timer = setInterval(startTime,1000);
startTime();
}
相关推荐
在Java编程中,`new Date()` 和 `Calendar.getInstance().getTime()` 都是获取当前系统时间的方法,但有时可能会出现获取到的时间与预期不符的情况。这种问题通常与时区设置、系统时间、Java运行环境以及代码逻辑...
然而,在特定的场景和浏览器中,使用`new Date()`可能会遇到返回值是`NaN`(Not a Number的缩写,表示“不是一个数字”)的情况。本文将从一个实际问题出发,详细分析这一问题的原因和解决办法。 问题描述: 在项目...
//开启倒计时变量 if(activittype==1){ var dqTime='2011-06-17 10:20:00';//倒计时的时间 var nian=dqTime.substr(0,4);//年 var yue=parseInt(dqTime.substr(5,2),10)-1;//月(parseInt(x,10)将变量转成10...
ios使用如下方法获得NaN,安卓手机则是正常计算,解决方法是换个这个时间的格式 new Date(2017-04-28 23:59:59).getTime() 换成如下方式就正常了,就是‘-... 您可能感兴趣的文章:关于js new Date() 出现NaN 的分析
在网页设计中,倒计时加载页面是一种常见的特效,它能为用户提供一个明确的等待指示,提高用户体验。这个名为"倒计时载入页面.rar"的压缩包包含了一个实现此类特效的HTML文件。 倒计时加载页面的核心在于JavaScript...
在JavaScript中,`Date`对象是处理日期和时间的基础,可以获取当前时间的时间戳(单位为毫秒)通过`new Date().getTime()`。倒计时或计时器的工作原理就是不断比较当前时间戳与目标时间戳,计算差值并更新显示。 1....
开发者可能使用了JavaScript的Date对象来计算当前时间与设定目标时间之间的差值,并通过定期更新DOM(文档对象模型)来显示变化的倒计时数值。例如,下面是一个简单的JavaScript倒计时函数示例: ```javascript ...
总之,利用JavaScript的Date对象和时间戳,我们可以轻松地实现一个自定义日期时间的倒计时功能。这在网页开发中非常实用,例如倒计时活动、考试倒计时等场景。通过理解和掌握这个技术,你可以创建出更加动态和交互性...
var t = target.getTime() - new Date().getTime(); return { total: t, days: Math.floor(t / (1000 * 60 * 60 * 24)), hours: Math.floor((t % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)), minutes: Math....
例如,new Java.sql.Date(new Java.util.Date().getTime())将得到当前日期的0点0分0秒的时间戳。 在实际应用中,我们通常需要将Java.util.Date转换为Java.sql.Date,以便将日期和时间插入到数据库中。下面是一些...
通过`new Date()`创建一个新的Date对象,然后可以使用`getTime()`方法获取从1970年1月1日到当前时间的毫秒数。 2. **时间戳**:时间戳是一个表示特定时间的数字,通常以自1970年以来的秒数表示。在JavaScript中,...
在JavaScript编程中,倒计时日期是一个常见的需求,比如用于活动预告、考试倒计时或者产品上线倒计时等。本资源"js自定义倒计时日期代码.zip"提供了一个可运行且允许二次修改的解决方案,它涉及到的技术点主要包括...
1. **初始化时间**:首先,你需要确定倒计时的目标时间,这可以通过创建一个新的Date对象来设定,例如`var endTime = new Date("2023年12月31日23:59:59");`。 2. **计算差值**:接着,获取目标时间与当前时间之间...
倒计时计算涉及日期对象的处理,例如`Date`对象的`getTime()`方法用于获取当前时间戳,然后与目标日期的时间戳进行比较,计算出剩余时间。 在JavaScript中,时间处理可能涉及到`Date.prototype.getTimezoneOffset()...
javascript 元旦倒计时的代码 var yd_date = new Date("01/01/2024"); var yd_time = yd_date.getTime(); var one_second = 1000; var one_minute = one_second * 60; var one_hour = one_minute * 60; ...
var now = new Date().getTime(); var remainingTime = endTime - now; if (remainingTime ) { // 倒计时结束 clearInterval(intervalId); element.text('倒计时结束'); return; } var days = Math.floor...
var countDownDate = new Date(targetTime).getTime(); var countdownFunction = setInterval(function() { var now = new Date().getTime(); var distance = countDownDate - now; var days = Math.floor...
var targetTime = new Date().getTime() + 60 * 1000; // 目标时间:60秒后 var timer = setInterval(function () { var currentTime = new Date().getTime(); var remainingTime = targetTime - currentTime; ...