发送 php 日期到 javascript 并增加它
Send php date to javascript and increment it
我想使用 php 获取服务器时间,并将其传递给 javascript 变量。
一旦通过,它就会增加。
这是我的代码:
function initTime(date){
var today=new Date(date);
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
m = checkTime(m);
s = checkTime(s);
document.getElementById('time').innerHTML = h+":"+m+":"+s;
}
function checkTime(i) {
if (i<10) {i = "0" + i}; // add zero in front of numbers < 10
return i;
}
情况:
用户浏览欢迎页面,服务器时间按javascript发送和接收。
我想增加它,使它成为一个时钟脚本。我不想使用 php 每秒获取服务器时间,因为它会占用更多的服务器资源。
如何使用 javascript 增加它?
您可以将 php 变量放入隐藏输入中:
<input id="your_input" value="<?php echo $my_var; ?>">
并在 javascript 中获取它:
my_var = document.getElementById('your_input').value;
两种方式。首先,使用 moment.js:
setInterval(function() {
document.getElementById('time').innerHTML = moment().format('HH:mm:ss');
},1000);
或使用您的功能:
function initTime(date){
var today=new Date(date);
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
m = checkTime(m);
s = checkTime(s);
document.getElementById('time').innerHTML = h+":"+m+":"+s;
}
function checkTime(i) {
if (i<10) {i = "0" + i}; // add zero in front of numbers < 10
return i;
}
setInterval(initTime(date),1000);
我发现另一个 question 基本上是在同一件事之后。使用 php:
中的毫秒数初始化 JS 日期
<script type="text/javascript">
var d = new Date(<?php echo time() * 1000 ?>);
</script>
这是一个 jQuery clock plugin,您可以使用它来将开始时间提供给(您的服务器时间)。把它们放在一起,它会是这样的:
<script type="text/javascript">
var d = new Date(<?php echo time() * 1000 ?>);
$("#clock").clock({"timestamp":d.getTime()});
</script>
您可以只在某个地方输出 PHP 日期,或者在全局变量中,或者作为数据属性在您可以获得的地方
<div id="time" data-now="<?php echo time() * 1000; ?>"></div>
然后是
var elem = document.getElementById('time');
var timer = setInterval(initTime, 1000);
function initTime() {
var time = +(elem.getAttribute('data-now')),
time = time + 1000; // add one second
var today = new Date( time ),
h = today.getHours(),
m = today.getMinutes(),
s = today.getSeconds();
m = checkTime(m);
s = checkTime(s);
elem.innerHTML = h + ":" + m + ":" + s;
elem.setAttribute('data-now', today.getTime());
}
function checkTime(i) {
if (i < 10) {
i = "0" + i
}; // add zero in front of numbers < 10
return i;
}
我想使用 php 获取服务器时间,并将其传递给 javascript 变量。 一旦通过,它就会增加。
这是我的代码:
function initTime(date){
var today=new Date(date);
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
m = checkTime(m);
s = checkTime(s);
document.getElementById('time').innerHTML = h+":"+m+":"+s;
}
function checkTime(i) {
if (i<10) {i = "0" + i}; // add zero in front of numbers < 10
return i;
}
情况: 用户浏览欢迎页面,服务器时间按javascript发送和接收。
我想增加它,使它成为一个时钟脚本。我不想使用 php 每秒获取服务器时间,因为它会占用更多的服务器资源。
如何使用 javascript 增加它?
您可以将 php 变量放入隐藏输入中:
<input id="your_input" value="<?php echo $my_var; ?>">
并在 javascript 中获取它:
my_var = document.getElementById('your_input').value;
两种方式。首先,使用 moment.js:
setInterval(function() {
document.getElementById('time').innerHTML = moment().format('HH:mm:ss');
},1000);
或使用您的功能:
function initTime(date){
var today=new Date(date);
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
m = checkTime(m);
s = checkTime(s);
document.getElementById('time').innerHTML = h+":"+m+":"+s;
}
function checkTime(i) {
if (i<10) {i = "0" + i}; // add zero in front of numbers < 10
return i;
}
setInterval(initTime(date),1000);
我发现另一个 question 基本上是在同一件事之后。使用 php:
中的毫秒数初始化 JS 日期<script type="text/javascript">
var d = new Date(<?php echo time() * 1000 ?>);
</script>
这是一个 jQuery clock plugin,您可以使用它来将开始时间提供给(您的服务器时间)。把它们放在一起,它会是这样的:
<script type="text/javascript">
var d = new Date(<?php echo time() * 1000 ?>);
$("#clock").clock({"timestamp":d.getTime()});
</script>
您可以只在某个地方输出 PHP 日期,或者在全局变量中,或者作为数据属性在您可以获得的地方
<div id="time" data-now="<?php echo time() * 1000; ?>"></div>
然后是
var elem = document.getElementById('time');
var timer = setInterval(initTime, 1000);
function initTime() {
var time = +(elem.getAttribute('data-now')),
time = time + 1000; // add one second
var today = new Date( time ),
h = today.getHours(),
m = today.getMinutes(),
s = today.getSeconds();
m = checkTime(m);
s = checkTime(s);
elem.innerHTML = h + ":" + m + ":" + s;
elem.setAttribute('data-now', today.getTime());
}
function checkTime(i) {
if (i < 10) {
i = "0" + i
}; // add zero in front of numbers < 10
return i;
}