繁体   English   中英

时区PHP刷新

[英]Time zone PHP refresh

我需要每秒钟刷新我的时区。

我有以下代码:

$now = new DateTime(null, new DateTimeZone('America/New_York'));
$now->setTimezone(new DateTimeZone('Europe/London')); echo
$now->format("H:i:s A");

我想在服务器上按时区(状态)显示时间,并进行刷新。

像这样的代码,但是在我所在的时区州,例如欧洲/伦敦或其他州:

<script type="text/javascript"> 
function display_c(){
    var refresh=1000; // Refresh rate in milli seconds
    mytime=setTimeout('display_ct()',refresh)
}

function display_ct() {
    var strcount
    var x = new Date()
    document.getElementById('ct').innerHTML = x;
    tt=display_c();
}
</script>


<body onload=display_ct();>
<span id='ct' ></span>

那么,是否有JavaScript代码显示带有刷新时间的DateTimeZone('America/New_York')

范例: http//www.thetimenow.com/canada

我找到了这个var java脚本,但是它的错误可以使任何一个plz corecet这段代码

    <script>
var server_name = "www.site.com";
var time_format = '24';

var timezones = ["America/Montreal","Etc/GMT+5","Etc/GMT+4","Etc/GMT+6","Etc/GMT+5","Etc/GMT+8","Etc/GMT+7","GMT","UTC"];
document.writeln(" $date = new DateTime($ref['lastupdated']); "); 
document.writeln(" $date->setTimezone(new DateTimeZone('America/Los_Angeles')); "); 

var current_time = {"America/Montreal":["<? print date("H", time())?>","<? print date("i", time())?>","<? print date("s", time())?>","<? print date("l", time())?>","<? print date("F", time())?>","<? print date("d", time())?>","<? print date("Y", time())?>"]]};


</script

真正的代码PHP是

<?Php

$date = new DateTime($ref['lastupdated']);
$date->setTimezone(new DateTimeZone('America/Los_Angeles'));
echo $date->format('m/d/y g:i:s a');
?>

更新PHP源代码

<?php
echo "<div id=\"output\"></div>";
echo "<script type='text/javascript'>
( function()
{ 
// use JavaScript Date to display current date
// in a div (#displayJsDate)
var output = document.getElementById('output');


var start = moment("<? print date("c")?>");
var delta = start - moment();

setInterval(function(){
    var now = moment().add(delta,'ms');
    var m = now.tz('$data[zone]');    // Set the time zone as desired
    var s = m.format('YYYY-MM-DD h:mm:ss A');
    output.innerHTML = s;
}, 1000);
})();
</script>";



?>

您可以使用setTimeout()创建一个递归javascript函数来连续更新当前时间。 这个例子

这与PHP无关。 您需要一个了解时区的JavaScript库。

例如,使用moment-timezone ,您可以执行以下操作:

 var output = document.getElementById("output"); var start = moment("2015-01-01T00:00:00Z"); // Current time UTC value from server var delta = start - moment(); setInterval(function(){ var now = moment().add(delta,'ms'); var m = now.tz("America/New_York"); // Set the time zone as desired var s = m.format("YYYY-MM-DD h:mm:ss A"); output.innerHTML = s; }, 1000); 
 <script src="//momentjs.com/downloads/moment.min.js"></script> <script src="//momentjs.com/downloads/moment-timezone-with-data-2010-2020.min.js"></script> <div id="output"></div> 

jsFiddle

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM