Javascript/jQuery自动设置和更新时间
Javascript/jQuery auto set and update time
我在Javascript中创建了一个updateTime()
函数,它在localhost
中工作良好,但在server
中不工作
小提琴
HTML/PHP:
<?php
date_default_timezone_set('Asia/Tehran');
$datestr = strtotime('now');
$date = date("y/m/d H:i",$datestr);
?>
<span class="TA" title="<?php echo $date ?>" info="<?php echo $datestr ?>"></span>
JS:
$(document).ready(function(e) {
$('.TA').each(function() {
var time = $(this).attr('info');
updateTime(this,time);
});
setInterval(function(){
$('.TA').each(function(index,el){
var time = $(el).attr('info');
updateTime(el,time);
});
},15000);
});
function updateTime(el,time){
var strTime = time;
var nowStr = Date.now()/1000;
var mins = parseInt(nowStr) - parseInt(strTime);
var re = '';
if(mins>=0 && mins <86400)
{
if(mins>=0 && mins <60)
re = 'just now';
else
if(mins>=60 && mins<3600)
{
mins = Math.floor(mins/60);
mins = mins == 1 ? 'a':mins;
re = mins+' min'+(mins>1 ?'s':'')+' ago';
}else
if(mins>=3600 && mins<86400)
{
var h = Math.floor(mins/3600);
h = h == 1 ? 'an':h;
re = h+' hour'+(h>1 ?'s':'')+' ago';
}
$(el).text(re);
}else
$(el).text($(el).attr('title'));
}
事实上CCD_ 5和CCD_ 6中的CCD_。
我该如何改进这个问题?提前谢谢。
您可以使用JSON〔p〕并访问一个时间API:
(下面的代码应该工作得很好,刚刚测试过…)
function getTime(zone, success) {
var url = 'http://json-time.appspot.com/time.json?tz=' + zone,
ud = 'json' + (+new Date());
window[ud]= function(o){
success && success(new Date(o.datetime));
};
document.getElementsByTagName('head')[0].appendChild((function(){
var s = document.createElement('script');
s.type = 'text/javascript';
s.src = url + '&callback=' + ud;
return s;
})());
}
getTime('GMT', function(time){
// This is where you do whatever you want with the time:
alert(time);
});
如果你想通过php:获得它
$usersTimezone = 'Asia/Tehran';
$date = new DateTime( 'Thu, 31 Mar 2011 02:05:59 GMT', new DateTimeZone($usersTimezone) );
echo $date->format('y/m/d H:i');
它可能在本地工作,因为浏览器和localhost是同一台机器,但服务器不是,不同机器上的时间可能不同。
javascript使用客户端机器上的时间,但info属性中的时间由服务器设置。为了克服这个问题,只使用客户端时间(例如,当页面加载时使用javascript设置信息属性),或者使用KaMZaTa提到的客户端和服务器的时间API。
相关文章:
- Html5音频时间更新精度
- 使用引导时间选取器时,没有更新数据ng模型值
- 更新 FLOT 时间序列图
- 如果在线检查期间发生电源故障,我们如何更新用户再次登录门户时的剩余时间
- JQuery:更新表内容花费的时间太长
- 如何制作倒计时计时器并在时间到时更新MySQL记录
- 如何在页面上显示时间、日期IP和URL?更新日期:2015年2月25日
- 如何在一个时间间隔后追加新的更新
- 在 PHP / Javascript 中实时更新时间
- Javascript/jQuery自动设置和更新时间
- Moment.js以秒为单位动态更新时间
- 我想用Meteor.setInterval()来更新时间模板,它不起作用
- jquery flot图表不会动态更新时间序列的X轴值
- angularjs应用程序中的更新时间
- 在日期时间字段中设置更新时间部分,但不更新日期部分
- 用Javascript更新时间元素
- 如何使Meteor响应式更新“时间since”;字符串
- 如何根据数组数量的增加来更新时间间隔的时间
- Javascript更新时间函数导致高CPU
- 在Mustache模板中使用setInterval更新时间