如何每10.6秒从时间戳增加+1
How to increment +1 from timestamp every 10.6 seconds
我正在为一个狗狗救援组织配置一个站点。我正试图创建一个安乐死计数器,以直观地显示美国每天有多少只狗被处死。一个使用当前时间的实时"死亡计数器",它仍然为访问者逐页不间断地计数。
我希望柜台每天午夜0点开始营业。然后,我希望计数器每10.6秒增加+1。
我想出的充其量只是一个破解方法,似乎并不准确。
我的EMBARRASSING代码在下面,我知道数学是错误的,但我的理解已经到了极限。此外,我对strtotime的理解不足,可能会添加不必要的行。
<?php
$tsdate = date('d-m-Y');
$date = date('m/d/Y');
$timestamp = strtotime($tsdate);
?>
<b><font color="#ff0000">
<span id="number"><?=(int)((time()-$timestamp)/14.6);?></span>
</font> dogs have been put to death in this country TODAY <?php echo $date ?>.<br />
Don't buy - Don't breed - ADOPT! </b>
<script type="text/javascript">
var i = <?=(int)((time()-$timestamp)/14.6);?>;
function increment() {
i++;
document.getElementById('number').innerHTML = i;
}
setInterval('increment()', 10600);
</script>
代码起作用了,但是,你可以看到我需要帮助,而且我没有边界。我不得不使用上面看到的14.6来获得接近的结果,但这是不正确的。
我还想显示今年的运行总数。
有人能帮我吗?
非常感谢你的帮助,但我无法让它正常工作。这是我所拥有的:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title> count up test </title>
<script type='text/javascript'>
var div = document.getElementById('count');
var yeardiv = document.getElementById('yearcount');
function updateCount() {
var d = new Date();
// set d to midnight
d.setHours(0,0,0,0);
var count = Math.floor( ( new Date().getTime() - d.getTime() ) / 10600 );
div.innerHTML = count;
// set d to Jan 1st
d.setMonth( 0 );
d.setDate( 1 );
count = Math.floor( ( new Date().getTime() - d.getTime() ) / 10600 )
yeardiv.innerHTML = count;
}
updateCount();
setInterval( updateCount, 10600 );
</script>
</head>
<body>
Today: <div id="count"></div><br/>
This Year: <div id="yearcount"></div>
</body>
</html>
以上不显示计数,仅显示文本。。。
感谢下面的作品
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title> count up test THANKS to agreco </title>
</head>
<body>
Today: <div id="count"></div><br/>
This Year: <div id="yearcount"></div>
<script type='text/javascript'>
var div = document.getElementById('count');
var yeardiv = document.getElementById('yearcount');
function updateCount() {
var d = new Date();
// set d to midnight
d.setHours(0,0,0,0);
var count = Math.floor( ( new Date().getTime() - d.getTime() ) / 10600 );
div.innerHTML = count;
// set d to Jan 1st
d.setMonth( 0 );
d.setDate( 1 );
count = Math.floor( ( new Date().getTime() - d.getTime() ) / 10600 )
yeardiv.innerHTML = count;
}
updateCount();
setInterval( updateCount, 10600 );
</script>
</body>
</html>
我真的要感谢你的帮助!
最好用javascript完成这一切。。正如另一条评论所说,它还将包括用户时区,php将基于服务器时间。
这也是今年的更新代码:
var div = document.getElementById('count');
var yeardiv = document.getElementById('yearcount');
function updateCount() {
var d = new Date();
// set d to midnight
d.setHours(0,0,0,0);
var count = Math.floor( ( new Date().getTime() - d.getTime() ) / 10600 );
div.innerHTML = count;
// set d to Jan 1st
d.setMonth( 0 );
d.setDate( 1 );
count = Math.floor( ( new Date().getTime() - d.getTime() ) / 10600 )
yeardiv.innerHTML = count;
}
updateCount();
setInterval( updateCount, 10600 );
看看这个小提琴
我没有递增,而是根据现在-午夜
我会跳过PHP,只使用JavaScript。使用JavaScriptDate对象,然后使用小时、分钟和秒计算自午夜以来的秒数。你的增量计时器似乎很好。此外,使用JavaScript将使用查看器的时区(JavaScript在浏览器上运行),而不是服务器的时区(PHP在服务器上运行)。
我认为你很难在PHP中获得从午夜开始的秒数,你可以这样做:
<?php
$ar = explode(':',date('G:i:s'));
$ar[0] *= 3600;
$ar[1] *= 60;
$seconds_from_midnight = $ar[0] + $ar[1] + $ar[2];
$dogs_killed_from_midnight = floor($seconds_from_midnight / 10.6);
?>
然后只需替换以下代码:
<?=(int)((time()-$timestamp)/14.6);?>
为此:
<?=$dogs_killed_from_midnight;?>
它应该完成代码中的工作。
相关文章:
- 如何每10.6秒从时间戳增加+1
- 使用AngularJS从时间戳中获取工作日
- 将时间戳转换为java中的ISO860,
- Javascript Unix时间戳转换
- JavaScript JSON关联对象键和值都作为日期时间戳
- 时间戳与mongoskin如何
- 用时间戳获取两个不同日期之间的时间差
- JavaScript到PHP的时间戳失败,增加了大约一个半月的时间
- 转换unix时间戳转换
- 带有unix时间戳的d3.js平分线
- 当转换为Python日期时间时,Node的时间戳落后3分钟
- 如何检索AMD的XHR响应代码(+时间戳)'大型Dojo
- javascript时间戳插入字符串变量
- Moment.js unix时间戳,以分钟为单位显示以前的时间
- 事件时间戳谷歌分析
- 时间戳到文本
- Unix时间戳从现在输出为1970
- 如何使用javascript在嵌入式youtube视频上创建可点击的时间戳链接
- 如何在时间标签和相同的类中以UTC格式重新格式化ISO 8601时间戳,并通过JavaScript根据用户区域设置和时区
- 将时间戳中的月份增加1