Javascript倒计时使用服务器端时间来完成
Javascript countdown using server-side time to complete
我使用这个脚本倒计时,它的工作。
<script type="text/javascript">
(function (e) {
e.fn.countdown = function (t, n) {
function i() {
eventDate = Date.parse(r.date) / 1e3;
currentDate = Math.floor(e.now() / 1e3);
if (eventDate <= currentDate) {
n.call(this);
clearInterval(interval)
}
seconds = eventDate - currentDate;
days = Math.floor(seconds / 86400);
seconds -= days * 60 * 60 * 24;
hours = Math.floor(seconds / 3600);
seconds -= hours * 60 * 60;
minutes = Math.floor(seconds / 60);
seconds -= minutes * 60;
days == 1 ? thisEl.find(".timeRefDays").text("day") : thisEl.find(".timeRefDays").text("day");
hours == 1 ? thisEl.find(".timeRefHours").text("hours") : thisEl.find(".timeRefHours").text("hours");
minutes == 1 ? thisEl.find(".timeRefMinutes").text("Minutes") : thisEl.find(".timeRefMinutes").text("Minutes");
seconds == 1 ? thisEl.find(".timeRefSeconds").text("Seconds") : thisEl.find(".timeRefSeconds").text("Seconds");
if (r["format"] == "on") {
days = String(days).length >= 2 ? days : "0" + days;
hours = String(hours).length >= 2 ? hours : "0" + hours;
minutes = String(minutes).length >= 2 ? minutes : "0" + minutes;
seconds = String(seconds).length >= 2 ? seconds : "0" + seconds
}
if (!isNaN(eventDate)) {
thisEl.find(".days").text(days);
thisEl.find(".hours").text(hours);
thisEl.find(".minutes").text(minutes);
thisEl.find(".seconds").text(seconds)
} else {
alert("Invalid date. Example: 30 Tuesday 2013 15:50:00");
clearInterval(interval)
}
}
thisEl = e(this);
var r = {
date: null,
format: null
};
t && e.extend(r, t);
i();
interval = setInterval(i, 1e3)
}
})(jQuery);
$(document).ready(function () {
function e() {
var e = new Date;
e.setDate(e.getDate() + 60);
dd = e.getDate();
mm = e.getMonth() + 1;
y = e.getFullYear();
futureFormattedDate = mm + "/" + dd + "/" + y;
return futureFormattedDate
}
$("#countdown").countdown({
date: "<?php echo $newcounter ?> ", // Change this to your desired date to countdown to
format: "on"
});
});
</script>
这个脚本使用我的客户端日期,但我想使用我的服务器日期。如何读取从服务器读取的日期?我在脚本中尝试了以下代码:
currentDate = <?php echo time() ?>;
但是我的倒计时停止并且不工作。
服务器时间。这样做是正确的——不需要使用AJAX。我认为您的问题与传递给倒计时功能的日期格式有关。倒计时似乎需要一个数字(newcounter =等待的毫秒数?),但您正在传递一个时间戳(<?php echo time() ?>
)。
参见上面的@APAD1注释
<?php
date_default_timezone_set('Europe/Vienna');
$now = new DateTime();
$dateJsFormat = $now->format('Y') .',' . ($now->format('m')-1) .','.$now->format('d') .',' . $now->format('H') .','.$now->format('i');
?>
<script>
var date = new Date(<?= $dateJsFormat ?>);
alert(date);
</script>
JS-Date对象期望这种格式作为参数:
new Date(Year, Month, day, hour, minute) // JS-Code
Month必须减1:
$now->format('m')-1 // see php-code above
在你的例子中,你必须这样设置:
$("#countdown").countdown({
date: "<?= dateJsFormat ?>", // Change this to your desired date to countdown to
format: "on"
});
相关文章:
- 如何使用skip参数使用angular ui引导进行服务器端分页
- Webpack开发服务器和React服务器端渲染
- 提示使用服务器端事件处理程序激活JavaScript
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 显示具有服务器端自动时间注销的同步倒计时计时器
- 同步客户端和服务器端时间
- 有没有一种方法可以在没有服务器端语言的情况下完成http头请求并获得时间
- 服务器端和特定于时间的脚本执行
- 定时器、时区、服务器端时间、客户端倒计时
- REST API测量服务器端响应时间(性能)
- 方法时间的Javascript服务器端日志记录
- 在没有服务器端编码的情况下获取特定的twitter用户时间线
- 我应该如何在服务器端存储来自JS的时间戳,以便我可以可靠地使用它转换为其他时区?
- Javascript倒计时使用服务器端时间来完成
- 获取服务器端时间和客户端时间之间的差异并显示它
- 如何获得从服务器端到客户端文件的下载时间- Asp.Net
- 使用服务器端时间的javascript倒计时
- 时间检查:服务器端或客户端
- 正在测量服务器响应时间(客户端)
- 在服务器端Node.JS上倒数到一个时间并发送一个页面的响应